The Java community has outlined its ambitious plans for 2025, with a focus on enhancing the programming language through various projects. In a recent video presentation, Oracle Java developer advocate Nicolai Parlog detailed the OpenJDK community's goals for the coming year, which include work on code reflection, ahead-of-time (AOT) code compilation, and finalizing the structured concurrency and scoped values APIs.
The plans are part of several Java enhancement projects, including Babylon, Leyden, Lilliput, Loom, Panama, and Valhalla. Project Babylon aims to extend Java to foreign programming models such as SQL, differentiable programming, machine learning models, and GPUs. In 2025, the project will focus on preparing for the incubation of code reflection, as well as ongoing work on Heterogeneous Accelerator Toolkit (HAT) and exploring a prototype ONNX runtime script equivalent in Java.
Project Leyden, on the other hand, is focused on improving the startup time of Java programs. The project's goals for 2025 include AOT method profiling and AOT code compilation. Meanwhile, Project Lilliput will evaluate the impact of eight-byte object headers in the HotSpot JVM, with a "stretch goal" of four bytes. The ultimate objective is to free up 10% to 20% of the heap memory.
Project Loom, which is developing JVM features and APIs that support lightweight concurrency and new programming models, will work towards finalizing the structured concurrency API and the scoped values API in 2025. The team will also focus on pinning issues and improving lock information in thread dumps.
Additionally, Project Panama, which is improving the connections between the JVM and non-Java APIs, has three key objectives. These include a vector API, improving performance of the foreign function and memory (FFM) API as well as record mappers for this API, and improvements to the jextract tool for generating Java bindings. Finally, Project Valhalla, which is augmenting the Java object model, will work towards a preview of value types, work on null-checked types, and do some early exploration of improved numerics and primitives.
While these projects will be worked on throughout 2025, Parlog cautioned that they may not be released this year. "Let's be patient," he said, emphasizing the importance of thorough development and testing before releasing new features.
The Java enhancement projects for 2025 demonstrate the community's commitment to continuously improving the programming language and its ecosystem. As the projects progress, developers can expect significant performance improvements, new features, and enhanced capabilities in Java.
In conclusion, the Java community's plans for 2025 are ambitious and far-reaching, with a focus on enhancing performance, concurrency, and programming models. As the projects unfold, developers and users alike can expect significant benefits and improvements to the Java ecosystem.