One of the standout projects for 2025 is Project Babylon, which aims to extend Java’s capabilities to new and emerging programming models. This includes integrating Java with technologies like SQL, machine learning models, and even GPUs. In 2025, the focus will be on preparing Java for the incubation of code reflection, continuing work on the Heterogeneous Accelerator Toolkit (HAT), and exploring ways to create an ONNX runtime script equivalent in Java. These advancements will help Java become a more versatile language, capable of handling cutting-edge applications such as machine learning and data science.
Another major project, Project Leyden, seeks to address one of Java’s long-standing issues—slow startup times. By focusing on AOT method profiling and compilation, Leyden aims to reduce the time it takes for Java programs to start up, which will improve the user experience and make Java more suitable for cloud-native applications. Project Lilliput, on the other hand, is focused on optimizing memory usage within the HotSpot JVM. The team is working to evaluate the impact of eight-byte object headers and, as a stretch goal, aims to reduce these to four bytes. This change could free up 10-20% of the heap memory, making Java applications more efficient and responsive.
Project Loom, which is designed to enhance Java’s concurrency model, will also make significant strides in 2025. Loom’s goal is to support lightweight concurrency and new programming models by finalizing the structured concurrency API and the scoped values API. In addition, Loom will work on improving thread dump diagnostics and resolving pinning issues, which will allow developers to more easily troubleshoot and optimize their applications. Meanwhile, Project Panama will continue to improve Java’s interaction with non-Java APIs, with a particular focus on enhancing the FFM API, developing a vector API, and refining the jextract tool for generating Java bindings. Lastly, Project Valhalla, which aims to improve the Java object model, will continue to work on value types, null-checked types, and potential enhancements to Java’s numeric and primitive types. These projects together represent a bold vision for Java’s future, ensuring it remains a key player in the world of modern application development.