A roundup of smaller stories in the Java ecosystem from the week of March 15th, 2021, featuring the release of Java 16, JEPs advancing from Draft to Candidate status, and news from Hibernate, Red Hat and Spring. Let's explore it with us now.
The big news this past week was the release of Java 16. InfoQ has reported on all the details including a sneak peek into what developers may expect with Java 17, scheduled for release in mid-September. It was also a busy week for a number of JEPs that have advanced from Draft to Candidate status, and there was news from Hibernate, Red Hat and Spring.
Along with improvements to the thread stack processing with the ZGC garbage collector, Java 16 ships with significant changes to the G1 and Parallel garbage collectors. Changes to G1 GC include: changing the behavior of returning a surplus of memory that could potentially increase GC pause times of up to 100ms; and improving the heap occupancy threshold that triggers concurrent marking. Changes to Parallel GC include parallelizing pre-touch memory and processing internal references.
UTF-8 By Default (JEP 400) proposes that UTF-8 will be the default character set in Java SE to create consistency across all JDK implementations and independently of a user's operating system, locale, and configuration. It should be noted that this affects the user-level APIs, such as java.io.FileWriter, not the internals which remain as Latin-1 or UTF-16.
The first of the Valhalla JEPs, Primitive Objects (Preview) (JEP 401) and Unify the Basic Primitives with Objects (Preview) (JEP 402), propose to: enhance the Java object model with user-declared primitive objects; and unify the basic primitives types (int, double, etc.) with corresponding objects by repurposing the eight primitive wrapper classes (java.lang.Integer, java.lang.Double, etc.). As reported by InfoQ, there is no expectation that these JEPs will be upgraded to Closed/Delivered status without at least one round (most likely several) of incubation.
As one of the primary goals of Project Jigsaw, Strongly Encapsulate JDK Internals (JEP 403) proposes to strongly encapsulate all internal elements of the JDK, except for critical internal APIs, such as sun.misc.Unsafe, to improve the security and maintainability of the JDK. As is possible in Java 9 through Java 16, it will no longer be possible to bypass strong encapsulation via the command-line option, --illegal-access.
Generational Shenandoah (JEP 404) proposes to "enhance the Shenandoah garbage collector with generational collection capabilities to improve sustainable throughput, load-spike resilience, and memory utilization." Compared to other garbage collectors, such as G1, CMS and Parallel, Shenandoah currently requires additional heap headroom and has a more difficult time recovering space occupied by unreachable objects.
Hibernate has released Hibernate ORM 5.4.30, a maintenance release that introduces spatial support for CockroachDB 20.2+. Because CockroachDB has been working towards compatibility with PostgreSQL, the new CockroachDB202SpatialDialect class is based on PostGIS, the spatial database extender for PostgreSQL.
Corona Virus Pandemic has brought the world to a standstill. Countries are on a major lockdown. Schools, colleges, theatres, gym, clubs, and all other public
We offer java app development & web app services at affordable rates. Let our Java Developers customize for you to provide high performance & reliable Java based solutions.
What is OpenJDK? OpenJDk or Open Java Development Kit is a free, open-source framework of the Java Platform, Standard Edition (or Java SE).
What is the spring framework in Java? Why should one learn about the spring framework? The architecture of the Spring Framework. All are answered in this article.
A roundup of smaller stories in the Java ecosystem from the week of February 15th, 2021. And many more interesting things are waiting for you. If there's one show you shouldn't miss it's here.