It wasn’t that long ago when major releases of Java were years apart, but that has changed in 2018, with Oracle releasing not one, but two major releases so far this year.
On Sept. 25, Oracle released Java 11, providing users of the widely deployed programming language with 17 new features, including performance, scalability and security improvements.
“Java 11 is the second release as part of the six-month cadence announced in September 2017,” Donald Smith, senior director of product management at Oracle, told eWEEK. “With a now more predictable release schedule, the possibility of surprises is mitigated.”
Java 11 follows the Java 10 release, which became generally available in March. Unlike Java 10, however, Java 11 has been designated by Oracle as a Long Term Support release and will be supported until 2026.
“We have been delighted with the success of this transition over the last year, including seeing many tool chains (such as IDEs) making the pivot and keeping up with the cadence,” Smith said. “The jump to Java 9 was challenging, but for those who have made it, going to 10 and 11 has been straight forward.”
Features
Among the new features in Java 11 is JEP 332, which brings Transport Layer Security (TLS) 1.3 support to Java. TLS 1.3 is the next generation of the widely used SSL/TLS protocol for encrypting data in transit.
Security also gets a boost in Java 11 via JEP 329, which brings ChaCha20 and Poly1305 Cryptographic Algorithms to Java. Smith said JEP 329 implements the ChaCha20 and ChaCha20-Poly1305 ciphers as specified in Internet Engineering Task Force (IETF) RFC 7539.
Smith noted that Java 11 was security further improved via JEP 324: Key Agreement with Curve25519 and Curve448, which implements key agreement following IETF RFC 7748.
“Finally, several root certificates were added to OpenJDK 11 builds to complete parity with the Oracle JDK,” he said.
Java 11 also introduces a new approach to enable loading of single-file source code programs with JEP 330. According to the OpenJDK specifications, JEP 330 “enhances the java launcher to run a program supplied as a single file of Java source code, including usage from within a script by means of ‘shebang’ files and related techniques.”
Performance monitoring in Java 11 is improved via JEP 331, which provides a love overhead approach to sampling Java heap allocations.
“There is a deep need for users to understand the contents of their heaps. Poor heap management can lead to problems such as heap exhaustion and GC thrashing,” the JEP 331 specification states.
Looking forward, Java 12 is set to be released in six months, and developers already have a rough idea of what features are likely to be included.
“Plans for Java 12 are similar to both Java 10 and Java 11, which is to introduce a smaller, more manageable set of enhancements that users can embrace more easily,” Smith said. “Right now, we have two JEPs targeted for Java 12, and more will be added as work is completed.”
Sean Michael Kerner is a senior editor at eWEEK and InternetNews.com. Follow him on Twitter @TechJournalist.