After six months of development, Oracle has published the Java SE 26 platform (Java Platform, Standard Edition 26), which uses the open source project OpenJDK. With the exception of the removal of some obsolete features, Java SE 26 maintains backward compatibility with previous releases of the Java platform – most previously written Java projects will work without changes when run under the new version. Ready-to-install builds of Java SE 26 (JDK, JRE and Server JRE) prepared for Linux (x86_64, AArch64), Windows (x86_64) and macOS (x86_64, AArch64). Developed by the OpenJDK project, the reference implementation of Java SE 26 is fully open source under the GPLv2 license, with GNU ClassPath exceptions allowing dynamic linking with commercial products.
Java SE 26 is categorizedas a regular support release that will continue to receive updates until the next release. The Long Term Support (LTS) branch should be Java SE 25, Java SE 21, or Java SE 17, which will receive updates until 2033, 2031, and 2029, respectively (generally available until September 2030, 2028, and 2026). Extended support for the LTS branch of Java SE 8 will last until 2030, and Java SE 11 until 2032.
Among the changes in Java SE 26 (1, 2, 3, 4):
- Implemented a warning when using deep reflection to change fields marked with the “final” keyword. In the future, plans to disable unsafe language features by default and, among other things, make fields marked as final completely immutable, removing the workaround for changing them through deep reflection (API Reflection).
- Removed Applet API (java.applet.Applet*, javax.swing.JApplet), used to run Java applications in the browser. This API lost its relevance after the end of support for the Java plugin for browsers and was declared obsolete in 2021.
- Implemented the ability to use a pre-formed cache (AOT – ahead-of-time) with any garbage collectors, including ZGC (Z Garbage Collector). The change supports sequential loading of cached Java objects into memory using a universal and garbage collector-independent format instead of directly mapping specific cache representations into memory. Using the AOT cache reduces startup time and speeds up the warmup of the HotSpot virtual machine.