Java SE 9 and Java EE 8 Released

It's been a long wait, but it's finally here: Oracle Corp. announced today the general availability of Java SE 9 (JDK 9), the Java Platform Enterprise Edition 8 (Java EE 8) and the Java EE 8 Software Development Kit (SDK).

JDK 9 is a production-ready implementation of the Java SE 9 Platform Specification, which was recently approved, along with Java EE 8, in the Java Community Process (JCP). Java SE 9 comes with more than 150 new features, including the long awaited, much debated module system, as well as improvements designed, Oracle says, to bring more scalability, improved security, better performance management, and easier development to the platform. Java EE 8 modernizes and simplifies the enterprise Java platform for the cloud and microservices with updates to eight major specifications.

It would be hard to overstate the importance of modularity in the Java SE 9 release. The Java Platform Module System (JPMS) specification (JSR 376), better known as Project Jigsaw, brings a fundamentally new kind of programming component to Java; it's one of the most significant changes since the release of version 1.0 in 1996, rivaled only slightly by the support of lambdas in Java SE 8.

"Introducing a module system into a language and platform like Java SE, 20 years after its creation, when a large portion of the world's systems are running on it, is a very serious change," said George Saab, vice president of Development at Oracle, in an earlier interview.

Once developers get used to it, modularity has the potential to make their lives easier by allowing them to, as Oracle puts it, "reliably assemble and maintain sophisticated applications." The module system reduces the size and complexity of both Java applications and the core Java runtime itself. It also makes the JDK more flexible, allowing developers to bundle just those parts of the JDK that are needed to run an application when deploying to the cloud.

"This version of Java SE will provide millions of developers [with] the updated tools they need to continue building next-generation applications with ease, performance and agility," Saab said today in a statement.

Other top features in the Java SE 9 release include:

  • jshell, which delivers an interactive Read-Eval-Print-Loop tool that makes it easy for developers to explore APIs and try out language features
  • Improved Javadoc, which makes 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
  • Streams API enhancements, which improve developer productivity by adding methods to conditionally take/drop items from a Stream, iterate over a Stream's elements, and create a Stream from a nullable value while expanding the set of Java SE APIs that can serve as sources for Streams

A full list of new features in Java SE 9 is available here.

As important as these changes are, Oracle's plan to accelerate the cadence of Java SE releases may have an even bigger impact on the long-term future of Java. If Oracle successfully implements a time-driven release model -- it's proposed a six-month release cadence -- Java developers will have an unprecedented level of certainty about the evolution of the platform. Oracle is also planning to provide OpenJDK builds under the General Public License (GPL), and it will be contributing previously commercial features to OpenJDK "with the goal of making Oracle JDK and OpenJDK more aligned," the company said.

The big news around Java EE, of course, is its move to the open source Eclipse Foundation. Java EE 8 will almost certainly be the last release under Oracle's stewardship. Reza Rahman, a former enterprise Java evangelist at Oracle and one of the founders of the Java EE Guardians, called the move "a foundational and promising change for the entire Java ecosystem."

"Today's 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," said Mike Lehmann, Oracle's VP of product management, in a statement. "Oracle is committed to working with the Java EE community and the Eclipse Foundation to continue enterprise Java innovation, support, and evolution."

Among the key features in the Java EE 8 release are:

  • HTTP/2 support in Servlet 4.0
  • New JSON binding API and various enhancements in JSON-P 1.1
  • Expansion of JAX-RS to support Server-Sent Events and a new reactive client API
  • New security API for cloud- and PaaS-based applications
  • Multiple CDI enhancements including support for asynchronous events

A complete list of features in Java EE 8 is available here.

About the Author

John K. Waters is the editor in chief of a number of sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS.  He can be reached at [email protected].