With work moving forward on the next edition of standard Java, developers can start looking forward to what they will get with the planned upgrade.
Several JEPs (JDK Enhancement Proposals) for Java Development Kit 9 were updated this week, offering the latest perspectives on what to expect with JDK 9, which has been targeted for release in early 2016 and is based on the Java Standard Edition 9 platform. Headlining the release at this juncture is a modular source code system. Oracle has planned a modular Java via Project Jigsaw, which had been planned for JDK 8 but was pushed back; the existing JEP is part of Project Jigsaw. Standard Edition Java becomes more scalable to smaller devices with this technology. "The module system should be powerful enough to modularize the JDK and other large legacy code bases, yet still be approachable by all developers," says Oracle's Mark Reinhold, chief architect in Java Platform Group, in a recent blog post.
Here is a rundown of what's in store with JDK 9.
Modular source code
JDK source code will get reorganized into modules, the build system will get enhanced to compile modules, and module boundaries will be enforced at build time. "Project Jigsaw aims to design and implement a standard module system for the Java SE Platform and to apply that system to the platform itself and to the JDK. Its primary goals are to make implementations of the platform more easily scalable down to small devices, improve the security and maintainability, enable improved application performance, and provide developers with better tools for programming," the JEP document says. Another project, Penrose, is looking into interoperability between Jigsaw and the OSGi component system for Java. Subsequent JEPs will modularize the Java Runtime Environment and JDK images and introduce a module system.
Lightweight JSON API
Process API updates
This will improve the API for managing operating system processes and is intended to overcome limitations of the current API that often forces developers to use native code. Java SE 7, the JEP notes, offers limited support for native operating system processes; the new API, though, needs to account for operating system differences, particularly on Windows. "The design of this API needs to accommodate possible deployment on smaller devices with different operating system models. It should also take into account environments where multiple Java virtual machines are running in the same operating system process," the JEP document states.
Improve contended locking
The goal is to improve contended Java object monitors. The documentation says that "improving contended locking will significantly benefit real-world applications in addition to industry benchmarks such as Volano and DaCapo."
Segmented code cache
This effort is intended to divide code cache into segments, each containing compiled code of a particular type, to improve performance and allow extensions.
Smart Java Compilation, Phase 2
This project is intended to improve the
sjavac (Java programming language compiler) tool enabling it to be used by default in the JDK build and also to generalize it so it can be used to build large projects other than the JDK. "The current implementation has proved to be useful and does indeed improve build speed and allow for incremental builds. The quality of the code and stability of the tool as a whole, however, is not satisfactory and it is certainly not ready for public release," the JEP document states.
This story, "Why developers should get excited about Java 9" was originally published by InfoWorld.