Lokasi ngalangkungan proxy:   [ UP ]  
[Ngawartoskeun bug]   [Panyetelan cookie]                
Skip to content
HowToDoInJava
  • Java
  • Spring AI
  • Spring Boot
  • Hibernate
  • JUnit 5
  • Interview

Java Version – Time-Based Release Versioning

Starting from Java 10, Oracle has adapted time based version-string scheme [JEP 322]. The new time-based model has replaced the feature-based, multi-year release model of the past. Unlike the old releases, the new time-based releases will not be delayed and features will be released every six months, with …

Lokesh Gupta

October 1, 2022

Java 10
Java Basics
Java 10

Starting from Java 10, Oracle has adapted time based version-string scheme [JEP 322]. The new time-based model has replaced the feature-based, multi-year release model of the past. Unlike the old releases, the new time-based releases will not be delayed and features will be released every six months, with no constraints on what features can go out in the releases.

The updates releases will occur every quarter (Jan, April, July, Oct). Update releases will be strictly limited to fixes of security issues, regressions, and bugs in newer features. Going by schedule planning, we can say that each feature release will receive two updates before the next feature release.

Java version format

If you run command java -version in comaand prompt/terminal the you will get outout version information like this:

C:\Users\Lokesh>java -version
java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)

The new format of the version number is:

$FEATURE.$INTERIM.$UPDATE.$PATCH

Counter Name Description
$FEATURE It will be incremented every 6 months and based on feature release versions e.g: JDK 10, JDK 11. (Formerly $MAJOR.)
$INTERIM Usually this will be zero, as there will be no interim release in a six month period. It will be incremented for non-feature releases that contain compatible bug fixes and enhancements but no incompatible changes, no feature removals, and no changes to standard APIs. (Formerly $MINOR.)
$UPDATE It will be incremented for compatible update releases that fix security issues, regressions, and bugs in newer features. (Formerly $SECURITY.)
$PATCH It will be incremented only when it’s necessary to produce an emergency release to fix a critical issue.
The sequence of numerals in a version number is compared to another such sequence in numerical, pointwise fashion; e.g., 10.0.4 is less than 10.1.2. If one sequence is shorter than another then the missing elements of the shorter sequence are considered to be less than the corresponding elements of the longer sequence; e.g., 10.0.2 is less than 10.0.2.1.

Java Version API

Runtime.version() can be used to get version counter values programmatically. e.g.

Version version = Runtime.version();
version.feature();
version.interim();
version.update();
version.patch();

Output:

10
0
1
0

Parse existing version

Version version = Runtime.Version.parse("10.0.1");

version.feature();
version.interim();
version.update();
version.patch();

Long Term Release (LTS)

It is mainly for enterprise customers. LTS version of the products will offer premier and sustained support from Oracle and it will be targeted every 3 years. Also, updates for these releases will be available for at least three years.

This will cause “LTS” to be displayed prominently in the output of java –versions. e.g. e.g., 11.0.2+13-LTS

Happy Learning !!

Ref: http://openjdk.java.net/jeps/322

Leave a Comment Cancel reply

Java 10 Tutorial

  • Java 10 – Features
  • Java 10 – Time-Based Release Versioning
  • Java 10 – Local-Variable Type Inference

Table of Contents

  • Java version format
  • Java Version API
      • Parse existing version
  • Long Term Release (LTS)
Photo of author

Lokesh Gupta

A fun-loving family man, passionate about computers and problem-solving, with over 15 years of experience in Java and related technologies. An avid Sci-Fi movie enthusiast and a fan of Christopher Nolan and Quentin Tarantino.
Follow on Twitter Portfolio

Previous

Java var Keyword – Local-Variable Type Inference

Next

Java 10 Features and Enhancements

About Us

HowToDoInJava provides tutorials and how-to guides on Java and related technologies.

It also shares the best practices, algorithms & solutions and frequently asked interview questions.

Tutorial Series

OOP

Regex

Maven

Logging

TypeScript

Python

Meta Links

About Us

Advertise

Contact Us

Privacy Policy

Our Blogs

REST API Tutorial

Follow On:

  • Github
  • LinkedIn
  • Twitter
  • Facebook
Copyright © 2026 | Sitemap