ag visuell - Fotolia
Oracle releases Java 9, Java EE 8
Oracle released the long-awaited Java 9, along with Java EE 8 -- each with key improvements to simplify the development process using the language, including modularity in Java 9.
At long last, Oracle has made Java 9 generally available just ahead of its upcoming JavaOne developer conference in San Francisco early next month.
Java 9 -- better known as Java SE 9 Platform Specification, or Java SE 9 (JDK 9) -- comes nearly three years after the release of Java 8.
In addition to Java 9, Oracle announced the availability of Java Platform, Enterprise Edition 8 (Java EE 8) and the Java EE 8 Software Development Kit.
JDK 9 is a production-ready implementation of the Java SE 9 platform spec that boasts more than 150 new features, including a new module system and enhanced scalability, improved security, better performance management and a simplified development process for developers.
Modular at its core
"Coming almost three years after Java 8, Java 9 includes some notable features and capabilities, including modularity -- based on Project Jigsaw, several new code compilers and a new read-eval-print loop [REPL] tool," said Charles King, principal analyst with Pund-IT.
Mike Milinkovichexecutive director of the Eclipse Foundation
Indeed, a core highlight of Java 9 -- and partly what held it up in delays -- is its modularity. The Java Platform Module System, also known as Project Jigsaw, simplifies the development and maintenance of complex applications. Oracle noted that the module system also makes the JDK more flexible, and it enables developers to bundle just those parts of the JDK that are needed to run an application when deploying to the cloud.
"It is great to see Oracle ship Java 9," Mike Milinkovich, executive director of the Eclipse Foundation, told TechTarget. "This is a significant release that has been long-awaited in the Java community. Although the Java modularity feature has stirred up some controversy over its development, we are optimistic that it will make innovation in the Java platform faster and easier going forward. Eclipse projects, including the Eclipse Java IDE, will start providing support for Java 9 over the next couple of days and weeks. Stay tuned."
Tools for next-gen applications
In a statement, Georges Saab, vice president of development for the Java platform group at Oracle, said: "Java SE 9 is the result of industrywide development involving open review, weekly builds and extensive collaboration between Oracle engineers and members of the worldwide Java developer community via the OpenJDK Community and the JCP [Java Community Process]. This version of Java SE will provide millions of developers the updated tools they need to continue building next-generation applications with ease, performance and agility."
In addition to Project Jigsaw, other key features in Java SE 9 include JShell, which delivers the REPL tool that simplifies the process of exploring API language features for developers.
Java 9 also features improvements to Javadoc -- the tool used for generating API documentation -- that make it easier for developers to learn new APIs by including a search function within the API documentation itself, as well as information on which module defines each class or interface.
Enhancements to the Streams API, which improves developer productivity and includes support for parallelism, represent another key Java 9 feature.
New, six-month release cadence
With Java 9 complete, Oracle said it is moving to a six-month release cadence for Java SE. The company is using a time-driven release model, rather than a feature-driven release model. Thus, the next release will come in March 2018 and will be named Java 18.3 -- the year and month of the release. Java 18.9 will follow in September 2018.
"Java 9 is somewhat controversial, since it stands as the last major release before Oracle begins its quicker cadence and, as a result, will not be designated as a long-term support release," King noted. "That comes with the next major version, Java 18.9, which will arrive about a year from now. That has many wondering how many customers will actively embrace this new version or wait for Java 18.9 when long-term support is available and Java 9's new features have become more mature and reliable."
However, with this change, Oracle will also be providing OpenJDK builds under the General Public License. And Oracle will be contributing previously commercial features to OpenJDK such as Java Flight Recorder in Oracle JDK, with the goal of making Oracle JDK and OpenJDK more aligned. OpenJDK is a free and open source implementation of Java SE.
Java EE 8 released, moving to Eclipse
Meanwhile, Oracle also delivered Java EE 8, which modernizes and simplifies the Java EE platform for the cloud and microservices with updates to eight major specifications.
"The release of Java EE 8 is a major milestone in the evolution of Java in the enterprise," Milinkovich said. "The Eclipse Foundation is looking forward to welcoming Java EE to our community and working to ensure a faster pace of innovation for the technology in the future. We strongly believe that Eclipse's model of open collaboration and vendor-neutral governance is going to ensure Java EE's place in the industry for many years to come."
Oracle recently announced its intention to move Java EE to the Eclipse Foundation, in collaboration with other vendors and the community. Oracle, Eclipse and community members are working out the details of the technology transfer and ongoing governance and process within the Eclipse community, the company said.
Mike Lehmann, vice president of product management at Oracle, said this "major release of the Java Platform, Enterprise Edition, is one we think developers are going to be excited to use. And by open-sourcing Java EE technologies to the Eclipse Foundation, we have set it up for ongoing success in the future. Oracle is committed to working with the Java EE community and the Eclipse Foundation to continue enterprise Java innovation, support and evolution."
Key features in Java EE 8 include a new security API for cloud and platform-as-a-service-based applications; multiple Context and Dependency Injection enhancements, including support for asynchronous events; HTTP/2 support in Servlet 4.0; and more.
Java 9, Docker and big data
Azul preps Zulu for Java 9
IoT, mobile and Java 9 trends