New Java Platform Standard Edition (Java SE) releases used to take years of development effort before becoming generally available. That's no longer the case, as Oracle announced the availability of Java SE 10 on March 20, barely six months after Java SE 9 was released.
Oracle officially committed to a new six-month release cadence for Java after Java 9 launched, in an effort to bring new features faster to the widely used programming language. Java 10 includes multiple new features that aim to improve developer productivity.
"We are extremely happy to deliver Java 10 on time as announced last year," Donald Smith, senior director of product management at Oracle, told eWEEK. "We were able to include some new innovations that would have normally taken years, such as local-variable type inference and some experimental features such as Graal."
Local-variable type inference is a developer productivity feature that will reduce the amount of boiler plate code developers need to write, Smith said. In addition, he noted that it also makes managing code snippets in JShell a lot easier. JShell is a tool that was released in Java 9 that provides developers with an interactive shell that can execute command and display results without the need to compile code.
Graal is an experimental feature that Smith said will be the basis of the experimental Ahead of Time (AOT) compiler going forward.
"AOT benefits are primarily about performance generally, but especially start up performance of applications," Smith said.
Application Class Data Sharing
Another new feature in Java 10 is Application Class Data Sharing (CDS), which has the goal of reducing the resource footprint and improving startup time.
"This feature was born from the Java EE ecosystem where app servers could be incredibly fast, but often required time to warm up on startup," Smith said. "App CDS helps by optimizing the memory mapping of classes at startup time, which not only saves memory, but also shortens the startup time."
Java 10 also introduces a Root Certificate capability outlined in JDK Enhancement Proposal (JEP) 319, which aims to provide a default set of root Certification Authority (CA) certificates in the Java Development Kit (JDK).
"This JEP is about providing people who build OpenJDK with options on root certificates they wish to include in their builds," Smith said.
Jakarta EE and Java 11
Looking beyond Java SE, there is also the Enterprise Edition of Java, which used to be known as Java EE. Oracle officially moved the Java EE open-source effort to the Eclipse Foundation in September 2017, and it was subsequently renamed Jakarta EE in February 2018. Smith noted that currently there is no relation between what is in the Java SE 10 release and Jakarta EE.
"It is not yet determined what Java SE requirements there will be for Jakarta-based implementations," he said.
There is set to be one more Java SE release in 2018, with Java 11 scheduled for September. To date, several JEPs have been outlined for Java 11, including dynamic class-file constraints and the epsilon garbage collector.
Sean Michael Kerner is a senior editor at eWEEK and InternetNews.com. Follow him on Twitter @TechJournalist.