Following the release of Java 9 in September 2017 – which improved modularisation and ahead-of-time compilation – Java 10 seems to lack any groundbreaking changes, although there are some new features which developers will be pleased about.
What’s new in Java 10?
Released in March 2018, Java 10 comes just six months after its predecessor, Java 9 and brings an enhanced Local Variable Type Inference, garbage collection and compilation. The three-year wait for Java 9 frustrated most Java developers, but it meant that we half expected that this release would be delayed too. But that was not the case! And now, Oracle has committed to releasing a new version every six months. However, this move towards such regular updates has sparked debate among Java users. Some preferring less frequent releases with more significant changes, while others like the stable nature of more regular updates to the development environment. Most likely businesses will prefer the more stable release structure from Oracle. As it stands, long-term releases like Java 8 and the next release Java 11 will receive long-term support while others like Java 9 have had support cut now that Java 10 is here. So while there will be big releases that offer long-term support there will be other releases in between that to fill the gap. Ultimately we forgave Oracle for the delay with Java 9 because it came packed with new features and fixes such as Generics, Streams and Jigsaw, but what has six months of improvements brought us? Read on for the latest Java 10 features.
Java 10 features
Local-Variable Type Inference Consolidate the JDK Forest into a Single Repository Garbage-Collector Interface Parallel Full GC for G1 Application Class-Data Sharing Thread-Local Handshakes Remove the Native-Header Generation Tool (javah) Additional Unicode Language-Tag Extensions Heap Allocation on Alternative Memory Devices Experimental Java-Based JIT Compiler Root Certificates Time-Based Release Versioning
The most notable change for developers is probably the Local-Variable Type Interface as this improves readability by preventing inflation of the source code. Ultimately saving time on the writing itself. Java 10 also comes with greater support and improvements to the Java Virtual Machine (JVM) for working with Docker Containers.
When will Java 11 be released?
The upcoming JDK 11, due in September, will be a long-term support (LTS) version of Java and come with a few new features. These include Nest-Based Access Control, Local-Variable Syntax for Lambda Parameters, A Scalable Low-Latency Garbage Collector and a No-Op Garbage Collector. Get the full list here. With releases expected every six months, there’s a lot to look forward to for Java developers.