Java remains a cornerstone of modern software development. The language is constantly evolving to meet today’s business needs, and those updates bring new features and enhancements. Most of these Java updates are not world-changing, but staying current with these updates ensures your team can write cleaner code, improve application performance, and maintain a competitive edge in the industry.
This guide provides a comprehensive overview of the recent advancements in the Java ecosystem, including changes to the Java LTS release cadence, the differences between Oracle Java and OpenJDK, and new features in the latest Java LTS versions. By understanding these developments, you can make informed decisions about your Java tech stack.
Back to top
A Brief History of Java
Before diving into where Java is going, let’s take a brief look at the language’s history. James Gosling developed Java at Sun Microsystems in the mid 1990s as a general-purpose, cross-platform language. It solved several major programming challenges of the era.
The platform introduced portability through its "write once, run anywhere" philosophy, simplified memory handling, and provided operating system abstraction. These innovations quickly made Java a favorite among developers.
Sun Microsystems initiated a major shift in 2006 by transitioning the platform to a free, open-source model under a GNU General Public License. Later that year, they released the Java HotSpot VM and compiler as free software to the OpenJDK community, cementing the language's collaborative future. In January 2010, Oracle acquired Sun Microsystems, taking ownership of the language and releasing the Oracle JDK.
Oracle has made further changes to the Java language, including changes to the Java SE pricing structure and increasing the cadence of long-term support (LTS) releases. Today, Java is one of the top three most popular coding languages in the world (alongside Javascript and Python) and used for everything from mission-critical business applications to gaming devices.
Back to topUnderstanding Java LTS Versions
Java LTS, or long-term support, versions, provide stable, secure platform for your organization’s Java development. Each long-term release of the JDK is supported by Oracle for 4 years, while the short term releases are only supported for 6 months.
What Is a Java LTS version?
A Java LTS version is a Java version that will receive support for 4+ years and serve as the industry standard.
These Java LTS versions are more stable and receive regular bug fixes, which is vital for organizations that cannot update their Java runtimes every six months.
Why is Java LTS Important?
Java LTS is important because these JDK versions receive regular security fixes and are considered more stable. As a part of its long term support policy, Oracle offers quarterly bug fixes and version support for an extended duration. Intermediary semi-annual releases between major Java LTS releases are supported for a shorter duration.
How Often Are Java LTS Versions Released?
In September 2021, Oracle proposed shifting the LTS release cadence from every three years to every two years with JEP 322. This accelerated timeline helps organizations adopt new features and plan ahead for upgrading to the latest version of Java.
What’s the Difference Between Java LTS Versions?
Oracle currently offers standard support for Java 21 and Java 25. Java 17, Java 11, and Java 8 are also considered Java LTS versions.
❗Still on Java 8? Check out this cheat sheet.
Back to topThe JDK Enhancement Process: How New Features are Introduced to Java
The Java community introduces new features through a formalized method called the JDK Enhancement Proposal process. JEPs form the roadmap for continued improvement and innovation within the Java language. JEP 1 outlines this process, stating that proposals must involve more than two weeks of engineering work, make a significant change to the JDK, or experience high demand from developers.
The process categorizes proposals into three distinct types:
- Incubator JEPs: These proposals place not-yet-final tools and application programming interfaces in the hands of developers. Teams test these tools while they progress toward finalization or removal in a future release.
- Preview JEPs: These proposals feature finalized designs and implementations, but they remain impermanent. Developers must specifically activate preview features, allowing the community to provide feedback before the features become permanent standard additions.
- Permanent JEPs: These proposals represent fully integrated, standard features that become a permanent part of the Java language specification.
Upgrading Java Versions From Java 8
Java 8 is still relevant today, but unfortunately it’s not supported by Oracle. Many organizations must weigh the costs of upgrading Java versions (and the possible business disruption that upgrade may cause) versus the benefits of taking advantage of new Java features. According to the 2025 Java Developer Productivity Report, 35% of responding organizations are still on Java 8.
Java 8 might have been released in 2014, but many of its core features are still relevant today, including:
That said, there are also many new Java features to take advantage of in newer Java versions, including:
- Virtual Threads
- CompletableFuture API
- Fibers and Threads
- Build-in tools
- ... and more!
Debating a Java Upgrade? Read our whitepaper for in-depth insights on planning your Java modernization project.
Looking for More Information on a Specific Java Version?
Our team regularly recaps the latest enhancements in every new JDK version so you can stay up to date on the latest features in Java. Read them all:
Back to topOracle JDK vs. OpenJDK: Two Distributions From Identical Technical Roots
Understanding the distinction between OpenJDK and Oracle JDK is crucial for modern development teams. Oracle creates and maintains both distributions. They act as implementations of the same Java specification and pass the Java Technology Certification Kit. Because Oracle builds the Oracle JDK from OpenJDK source code, the two distributions share nearly identical technical foundations.
Pricing Structure for Java SE and OpenJDK
The primary difference between Java SE (Oracle’s JDK runtime) and OpenJDK lies in licensing and support structures. In January 2019, Oracle made sweeping changes to licensing requirements for Java SE (Oracle’s JDK runtime). Up until that point, more than 70% of commercial Java applications used the Oracle JDK JVM, but this pricing shift prompted some organizations to explore supported builds of OpenJDK Java runtimes.
OpenJDK acts as the free, open-source implementation of the Java Standard Edition platform. Oracle targets the Oracle JDK toward audiences that value long-term stability, attaching commercial licensing terms for production use. Oracle builds and OpenJDK builds became functionally identical starting with Java 11.
Back to topAccelerate Java Development in Any JDK
Whether your organization is planning a Java upgrade to take advantage of new features in Java, it’s possible to accelerate your Java development with JRebel.
With JRebel, you can eliminate redeploys to visualize code changes while maintaining application state. That might not seem much, but those minutes spent waiting add up. Many developers save a month of Java development time annually.
See how much time you could save during your 14-day free trial of JRebel.