Java 10 may be a major release in Java release cadence and it was released on March 10, 2018. With Java 10, Oracle has replaced the java launch cadence with a replacement model, a 6-month launch cadence, and an LTS model for Oracle Java SE products. LTS model stands for future Support model.

After Java 10, Oracle launched a replacement version of Java after every 6 months where each and every version accommodated one or two important features. Oracle uses a release train concept. Each release train is scheduled for six months. Features that are developed within this timeline are shipped within the release otherwise the features are moved to the next release train.

Oracle JDK vs OpenJDK

Most of the Oracle JDK binaries are proprietary and licensed by Oracle and have multiple restrictions on redistribution. Whereas OpenJDK is more developer community-friendly. From Java 10 onwards, Oracle has decided to market OpenJDK as the primary JDK to facilitate the community-based development of Java. Oracle will keep generating its own JDKs but it'll launch them later after 3 years and term them as LTS versions. So OpenJDK binaries are going to be released after every six months.

OpenJDK is cloud and accommodates friendly behavior because it might be freely allocated as a part of the container. So Oracle's change to market OpenJDK makes use of Java much more friendly towards cloud or has improvement and deployment.

Java 9 and Java 10 are non-LTS releases. Java 11 release may be an LTS release.

New Features

Following are the main new features that are introduced in Java 10.

  • JEP 286 − Local Variable Type Inference
  • JEP 322 − Time-Based Release Versioning
  • JEP 304 − Garbage-Collector Interface
  • JEP 307 − Parallel Full GC for G1
  • JEP 316 − Heap Allocation on Alternative Memory Devices
  • JEP 296 − Consolidate the JDK Forest into one Repository
  • JEP 310 − Application Class-Data Sharing
  • JEP 314 − Additional Unicode Language-Tag Extensions
  • JEP 319 − Root Certificates
  • JEP 317 − Experimental Java-Based JIT Compiler
  • JEP 312 − Thread-Local Handshakes
  • JEP 313 − Detach the Native-Header Generation Tool
  • JEP 319 − Root Certificates
  • JEP 319 − Root Certificates

Java 10 improved 70+ APIs with brand new ways and options and detach deprecated APIs and options.