Java SE 9 and Java EE 8 Announced

Oracle recently announced the general availability of Java SE 9 (JDK 9), Java Platform Enterprise Edition 8 (Java EE 8), and the Java EE 8 Software Development Kit (SDK). Things are definitely changing in the Java world.
 
After this release, there will be two Java feature releases per year. The new Java versions come with many features, including a new module system geared for providing more scalability, improved security, better performance management and easier development of the world’s most popular programming platform. Another important development worth mentioning is that Java EE 8 is moving to the Eclipse Foundation and most likely will have a new name.
 
Java SE 9
 
Java SE 9 comes with more than 150 new features. The highlight, however, of Java SE 9 is the Java Platform Module System aka Project Jigsaw, designed for developers for easy and reliable assembly and maintenance of sophisticated applications. The module system is key to making JDK more flexible which means developers can 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 the updated tools they need to continue building next-generation applications with ease, performance, and agility,” said Georges Saab, vice president of development for the Java Platform Group at Oracle. 
 
Java SE 9 includes:
  • Jshell: delivers an interactive Read-Eval-Print-Loop for developers for easy exploration of APIs and language features.
  • Improved Javadoc with a search function within the API documentation to allow developers to learn new APIs as well as information on which module defines each class or interface.
  • Streams API enhancements: Now it possible 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.
Post – Java 9 plans: Oracle has also announced several changes to how Java SE and Java EE will be developed and released going forward. They will focus on not just an improved APIs but also language and JVM features. Feature releases will ship in March and September of each year, starting in March of 2018.
 
Update releases will be strictly limited to fixes of security issues, regressions, and bugs in newer features with 2 updates per feature before the next feature release. Oracle will also be providing OpenJDK builds under the General Public License (GPL). Oracle will be contributing previously commercial features to OpenJDK and aims at making Oracle JDK and OpenJDK more aligned.
 
Java EE 8
 
Oracle, Eclipse and other community members are now working to move Java EE technologies to the Eclipse Foundation. Oracle mentioned this in the announcement and pledged its continuous support to Java EE community and Eclipse foundation.
 
Key features in Java EE 8 include:
  • 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’
Oracle intends to relicense the Oracle-led Java EE technologies, and related GlassFish technologies, to the foundation, and introduce a branding strategy for the platform within the foundation itself including a new name for Java EE. This would include RIs, TCKs, and associated project documentation.
 
Oracle intends to enable the use of existing Java package names and component specification names for existing JSRs to provide continuity. It seeks to recruit and enable developers and other community members, as well as vendors, to sponsor platform technologies, and bring the platform forward within the foundation. This would include potential incorporation of Eclipse MicroProfile technologies into the platform.
 
To know more about features of Java SE9 and EE8 please visit http://openjdk.java.net/projects/jdk9/ and http://www.oracle.com/technetwork/java/javaee/overview/index.html respectively.