- Java 10 - Discussion
- Java 10 - Useful Resources
- Java 10 - Quick Guide
- Java 9 Tutorial
- Java 8 Tutorial
- Java Tutorial
- Java 10 - Thread-local Handshake
- Java 10 - Root Certificate
- Java 10 - Consolidated JDK Forest
- Java 10 - Heap Allocation
- Java 10 - Locale Enhancement
- Java 10 - Enhanced Garbage Collection
- Java 10 - Class-Data Sharing
- Java 10 - JIT Compiler
- Java 10 - Deprecated Features & Options
- Java 10 - Removed Features & Options
- Java 10 - New APIs & Options
- Java 10 - Local Variable Type Inference
- Java 10 - Time Based Release Versioning
- Java 10 - Environment Setup
- Java 10 - Overview
- Java 10 - Home
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Java 10 - Time Based Release Versioning
JEP 322 − Time-Based Release Versioning
From Java 10 onwards, Oracle has introduced a strict time based release versioning model for Java releases. Now Java will have a major release after every six months. Java 10 was released in Mar,2018 and moving onwards, all major versions are planned to release in Mar and Sep months of coming years. Releases are further categoried into three broad categories.
Feature Release − A Feature Release contains language specific features, JVM features, New/Improved APIs, Removal/Deprecation of APIs. Time of these feature releases is fixed and there is no constraint on features to be included in a particular release. If a under development feature is not a part of latest release then it will be planned in next release.
Update Release − An Update Release includes bug fixes, security issue fix, regression fixes etc. Each update release is planned per quarter in Jan, April, July and Oct months. Each Feature release will receive two Update releases before next feature release is announced.
Long Term Support(LTS) Release − Long term support release will be announced after every three years starting from Sep, 2018. Oracle will provide support and updates for this release for next three years. This release is primarily for Corporates using Java in production deployments.
Version Format
A version now follows the following format.
$FEATURE.$INTERIM.$UPDATE.$PATCH
Where
$FEATURE − This number denotes the major feature release and will get incremented by 1 after every Feature Release. For Java 10 it is 10.
$INTERIM − This number denotes any non-feature, non-update release which contains bug fixes and enhancements. This release is not having any incompatible changes, any API removal or change to standard API. A Feature release, will have this counter as 0.
$UPDATE − This number denotes the Update release done after a Feature Release. For example, an update release of Java in Apr 2018 is JDK 10.0.1 and for July 2018 is JDK 10.0.2 and so on.
$PATCH − This number denotes any emergency release incremented only in case an critical issue is to be promoted on emergent basis.
Example
Following Program shows the versioning details of JAVA 10.
pubpc class Tester { pubpc static void main(String[] args) { Runtime.Version version = Runtime.version(); System.out.printf(" feature: %s%n interim: %s%n update: %s%n patch: %s%n", version.feature(), version.interim(), version.update(), version.patch()); } }
Output
It will print the following output.
feature: 10 interim: 0 update: 2 patch: 0Advertisements