Java
Top 10 Java 25 Features
A roundup of Java 25 language and runtime features, from scoped values to constructor changes.
-
Scoped Values: Finalized feature for immutable, thread-local-like data sharing across virtual threads without explicit parameter passing.
-
Module Import Declarations: Simplifies imports by allowing
import module M;to bring in all public classes from a module and its transitive dependencies. -
Compact Source Files: Enables writing simple Java programs without class declarations, ideal for tests and demos.
-
Instance Main Methods: Allows defining
mainmethods as instance methods (e.g.,void main()orvoid main(String... args)) instead of requiringstatic, enabling direct instance creation and method calls for simpler program entry points. -
Flexible Constructor Bodies: Permits executable code before
super()calls, enhancing initialization flexibility. -
Generational Shenandoah: Upgrades Shenandoah GC to generational mode for better throughput and low-latency collection in enterprise apps.
-
Compact Object Headers: Reduces object header size to 64 bits on 64-bit JVMs, improving memory efficiency.
-
JFR CPU-Time Profiling: Adds Linux kernel-based CPU time sampling to JDK Flight Recorder for precise performance analysis.
-
PEM Encodings: Previews API for encoding/decoding cryptographic objects like keys and certificates in PEM format.
-
Vector API (10th Incubation): Continues incubation with enhancements for high-performance vector computations on supported hardware.