After six months of development, Oracle released the Java SE 22 (Java Platform, Standard Edition 22) as the reference implementation using the OpenJDK project. The Java SE 22 retains reverse compatibility with previous versions, with only some obsolete features removed. Most existing Java projects should work without any changes when migrating to the new version. The Java SE 22 assembly (JDK, JRE, and Server JRE) is ready for installation on Linux (x86_64, aarch64), Windows (x86_64), and macOS (x86_64, aarch64). The reference implementation developed as part of the OpenJDK project is fully open under the GNU Classpath license, enabling integration with commercial products.
For those looking to use the Java SE 22, it is important to note that it will be supported until the next release. As a Long-Term Support (LTS) branch, Java SE 21 or Java SE 17 should be used, with updates available until 2031 and 2029 respectively (publicly available until 2028 and 2026). Public support for the Java SE 11 LTS version was discontinued in September of last year, but extended support will continue until 2032. Extended support for the Java SE 8 LTS version will be available until 2030.
Starting with the release of Java 10, the project transitioned to a new development process involving shorter release cycles. New features are now developed in a continuously updated master-test branch, from which new releases are stabilized every six months.
Some of the new features in Java SE 22 include:
- In the garbage collector G1, support for fixing regions (Region Pinning) has been implemented. This feature allows Java objects in memory to be temporarily fixed to prevent their movement by the garbage collector. It ensures safe transfer of references to these objects between Java and native code, reducing delays and avoiding garbage collection pauses during critical sections of JNI with native code. Fixing regions prevents critical objects from being inadvertently cleaned by the garbage collector.