OpenJDK 26 Released With The Java Applet API Finally Removed
#Dev

OpenJDK 26 Released With The Java Applet API Finally Removed

Hardware Reporter
2 min read

OpenJDK 26 marks the end of an era by removing the deprecated Java Applet API while introducing HTTP/3 support, improved garbage collection, and enhanced performance features.

OpenJDK 26 is out today as the newest GA reference version for the Java SE platform. With Java 26, it's finally time to say a goodbye to the Java Applet API. Java Applets haven't been common on the web in years and modern web browsers not even supporting Java applets. Since 2021 the Java Applet API was deprecated back in Java 17 while now with Java 26 is finally being removed. Farewell to the java.applet package and associated Java Applet classes.

Java 26 on the feature addition side has added support for the HTTP/3 protocol to the HTTP Client API. Libraries and applications can interact with HTTP/3 servers using the HTTP Client API with minimal code changes. This represents a significant modernization of Java's networking capabilities, allowing developers to take advantage of HTTP/3's improved performance characteristics including better handling of packet loss and reduced connection establishment latency.

OpenJDK Java 26 also has improved its ahead-of-time "AOT" cache to work with any garbage collector (GC), including ZGC. The G1 garbage collector has also seen work to reduce synchronizations to help with higher throughput. These garbage collection improvements are particularly noteworthy for enterprise applications where predictable performance and low latency are critical requirements.

The G1GC enhancements focus on reducing lock contention during garbage collection cycles, which should translate to measurable performance improvements in multi-threaded applications. The AOT cache improvements mean that pre-compiled code can now benefit from the same optimizations regardless of which garbage collector is in use, providing more flexibility for performance tuning.

OpenJDK 26 also features the latest work on structured concurrency, lazy constants, and the Java Vector API. Structured concurrency provides a more intuitive way to manage concurrent tasks, making it easier to write correct concurrent code. Lazy constants allow for more efficient class initialization, while the Java Vector API continues to evolve, offering better performance for numerical computations through hardware-accelerated operations.

More details on today's OpenJDK 26 release via OpenJDK.org. Additionally, also out today is Eclipse OpenJ9 v0.58 that supports OpenJDK 26, providing an alternative JVM implementation for those who prefer the OpenJ9 runtime environment.

For developers maintaining legacy codebases, the removal of the Applet API means it's time to finally clean up any remaining references to java.applet classes. While most modern applications have long since moved away from applets, this change could affect build tools, documentation, or educational materials that still reference the old API.

The HTTP/3 support is likely to be one of the most immediately useful features for many developers, as it enables better performance for networked applications without requiring significant code changes. Combined with the garbage collection improvements and structured concurrency enhancements, OpenJDK 26 represents a solid step forward for the Java platform, balancing the removal of obsolete features with meaningful new capabilities.

Comments

Loading comments...