New release showcased at Oracle CloudWorld
delivers 15 JDK Enhancement Proposals to improve the Java language
and enhance the platform's performance, stability, and security
Extensions to Long Term Support roadmap enable
customers to migrate at their own pace
LAS
VEGAS, Sept. 19, 2023 /PRNewswire/ --
Oracle CloudWorld -- Oracle today announced the
availability of Java 21, the latest version of the world's
number one programming language and development platform. Java 21
(Oracle JDK 21) delivers thousands of performance, stability, and
security improvements, including platform enhancements that will
help developers increase productivity and drive innovation and
growth across their organizations. Oracle is showcasing the latest
capabilities in Java 21 at Oracle CloudWorld, which takes place
this week (September 18-21) in
Las Vegas, NV and online at
oracle.com/cloudworld.

"Java continues to be the language and platform of choice for
the development of robust, scalable, and secure applications used
by organizations and millions of individuals around the world,"
said Georges Saab, senior vice
president of Oracle Java Platform and chair of the OpenJDK
governing board. "The new enhancements in Java 21 enable developers
to build better applications even faster than before. In addition,
commercial support will be available for at least eight years to
enable customers to migrate at their own pace."
The latest Java Development Kit (JDK) provides updates and
improvements with 15 JDK Enhancement Proposals (JEPs). JDK 21
delivers language improvements from OpenJDK project Amber (String
Templates, Record Patterns, Pattern Matching for Switch, Unnamed
Patterns and Variables, and Unnamed Classes and Instance Main
Methods); enhancements from Project Panama (Foreign Function &
Memory API and Vector API); features related to Project Loom
(Virtual Threads, Scoped Values, and Structured Concurrency);
performance updates (Generational ZGC); and maintenance and
deprecation features (Deprecate the 32-bit x86 Port for Removal,
and Prepare to Disallow the Dynamic Loading of Agents).
"Despite so many languages that are in circulation, Java is
still everywhere today," said Stephen
O'Grady, principal analyst and co-founder, RedMonk. "As the
world evolves, Java's ability to adapt will help it continue to
play a key role in offering value to developers."
Oracle will offer long term support for Java 21 for at least
eight years. This extended support period gives organizations
flexibility to keep applications in production longer with minimal
maintenance, and to eventually migrate on their own terms. Based on
customer feedback and use in the Java ecosystem, Oracle has also
announced that long term support for Java 11 has been extended
through at least January 2032,
providing at least eight more years of support and updates from
Oracle.
Significant updates delivered in Java 21 are:
Project Loom Features
- JEP 444: Virtual Threads: Significantly
streamlines the process of writing, maintaining, and observing
high-throughput, concurrent applications by introducing lightweight
virtual threads to the Java Platform. By enabling developers to
easily troubleshoot, debug, and profile concurrent applications and
scale them with existing JDK tools and techniques, virtual threads
help accelerate application development.
- JEP 446: Scoped Values (Preview): Enables
the sharing of immutable data within and across threads. This helps
increase the ease-of-use, comprehensibility, robustness, and
performance of developers' projects.
- JEP 453: Structured Concurrency
(Preview): Simplifies concurrent programming by
introducing an API for structured concurrency, which helps promote
a style of concurrent programming that can eliminate common risks
arising from cancellation and shutdown – such as thread leaks and
cancellation delays – and improves the observability of concurrent
code. This helps developers streamline error handling and
cancellation, improve reliability, and enhance observability.
Performance Updates
- JEP 439: Generational ZGC: Improves
application performance by extending the Z Garbage Collector (ZGC)
to maintain separate generations for young and old objects.
Generational ZGC helps improve developer productivity by lowering
the overhead of required heap memory and garbage collection CPU for
applications, as well as reducing the risks of allocation
stalls.
Language Updates and Improvements
- JEP 430: String Templates
(Preview): Simplifies the development of Java programs by
making it easy to express strings that include values computed at
run time, and improves the security of programs that compose
strings from user-provided values and pass them to other systems.
In addition, the readability of expressions that mix text and
expressions is enhanced, and non-string values computed from
literal text and embedded expressions can be created without having
to transit through an intermediate string representation. This
helps increase developer productivity by making the Java language
more readable, writable, and maintainable.
- JEP 440: Record Patterns (Third
Preview): Enhances the Java language by extending pattern
matching to destructure instances of record classes, as well as
enabling the addition of nested patterns. This enables developers
to extend pattern matching to more sophisticated and composable
data queries, which helps increase productivity.
- JEP 441: Pattern Matching for
Switch: Expands the expressiveness and applicability of
switch expressions and statements by allowing patterns to appear in
case labels. In addition, the safety of switch statements is
increased by requiring that pattern switch statements cover all
possible input values, and all existing switch expressions and
statements can continue to be compiled with no changes and executed
with identical semantics. This helps developers streamline and
increase the reliability of their projects by making the Java
language more semantic so that complex data-oriented queries can be
expressed concisely and safely.
- JEP 443: Unnamed Patterns and Variables
(Preview): Enhances the Java language by enabling unnamed
patterns to match a record component without stating the
component's name or type, as well as unnamed variables that can be
initialized but not used. This helps simplify the development
process by increasing the readability of record patterns and
improving the maintainability of all code.
- JEP 445: Unnamed Classes and Instance Main Methods
(Preview): Helps simplify and improve the accessibility of the
Java language so that educators can introduce programming concepts
in a gradual manner. By avoiding the introduction of a separate
beginner's dialect of Java and a separate beginner's toolchain,
student programs can be compiled and run with the same tools that
compile and run any Java program – helping students write basic
programs in a concise manner and grow their code gracefully as
their skills increase. This helps improve student developer
productivity by enabling them to write their first programs without
needing to understand language features designed for large
programs.
Project Panama Preview Features
- JEP 442: Foreign Function & Memory API (Third
Preview): Introduces an API to enable Java programs to
interoperate with code and data outside of the Java runtime. By
efficiently invoking foreign functions (i.e., code outside the Java
Virtual Machine [JVM]), and by safely accessing foreign memory
(i.e., memory not managed by the JVM), the new API enables Java
programs to call native libraries and process native data without
requiring the Java Native Interface. This increases ease-of-use,
flexibility, performance, and safety for developers.
- JEP 448: Vector API (Sixth
Incubator): Introduces an API to express vector
computations that reliably compile at runtime to vector
instructions on supported CPU architectures. This helps developers
improve the performance of their projects by providing them with
access to a API that is capable of clearly and concisely expressing
a wide range of vector computations.
The Java 21 release is the result of extensive collaboration
between Oracle engineers and other members of the worldwide Java
developer community via OpenJDK and the Java Community Process
(JCP). In addition to the new enhancements, Java 21 is supported by
Java Management Service (JMS) – an Oracle Cloud Infrastructure
(OCI) native service – which provides a unified console and
dashboard to help organizations manage Java runtimes and
applications on-premises or on any cloud. For more details on the
features in Java 21, please read the Java 21 technical blog
post.
Supporting the Global Java Ecosystem with Innovation in the
Cloud
Java delivers optimal performance, efficiency, and
innovation when deployed in the cloud on OCI, and OCI is one of the
first hyperscale clouds to support Java 21. In addition, customers
gain cost savings at scale by running Java on OCI. Oracle Java SE,
Oracle GraalVM, and the Java SE Subscription Enterprise Performance
Pack are available free of charge on OCI, enabling developers to
build and deploy applications that run faster, better, and with
optimized cost-performance.
The Oracle Java Universal SE Subscription is a pay-as-you-go
offering that provides customers with best-in-class support,
including triage support for their entire Java portfolio,
entitlement to GraalVM, the Java SE Subscription Enterprise
Performance Pack, access to the advanced features of the Java
Management Service, and the flexibility to upgrade at the pace of
their businesses. This helps IT organizations manage complexity,
contain costs, and mitigate security risks.
The Global Java Community Embraces Java 21
"Java 21 is
one of the most significant releases of Java, as Virtual Threads
will impact how we develop and deploy asynchronous applications,
from microservices to enterprise applications," said Dr.
Venkat Subramaniam, founder, Agile
Developer, Inc. "With little coding effort, developers'
applications can scale to support a large number of IO operations
and service calls without placing an undue demand on resources.
Increased scale at reduced costs is a big win for organizations
that count on Java in production."
"I'm excited about the 'Unnamed Classes and Instance Main
Methods' preview feature in Java 21," said Barry Burd, professor, Drew
University. "In my intro courses, students can start quickly
and easily without confusion or fanfare. In my books, I can present
complete examples with no boilerplate code. And the best part is
the way these new features sync with Java's overarching design
philosophy. Unnamed classes are joining their unnamed package and
module cousins. And it's backward-compatible too."
"The sequenced collections feature in Java 21 is a great
addition for the developer community. Developers no longer need to
worry about accidentally relying on encounter order in a JUnit
test, only to have it fail on the build server, upgrade, or
elsewhere," said Jeanne Boyarsky,
Java Champion. "With sequenced collections, this order will be
defined – which means no more surprises."
Expanding Dev.java with the Java Playground and Community
Contributions
Dev.java is the official site for Java
developers, and today we are announcing the addition of a Java
Playground as well as new community contributions to the content
catalog.
The Java Playground is an online sandbox that allows users to
type and run small Java code snippets without the need for a local
runtime or IDE. Developers can now try out new features from Java
21 immediately, all from a browser, powered by OCI.
Dev.java has hundreds of high-quality Java tutorials for all
skill levels, authored by the Java team at Oracle. Now, Dev.java is
also accepting community contributions through a new public
repository inside the Java GitHub organization,
Developers can already find community contributions today from
industry luminaries such as Dr. Venkat
Subramaniam, Cay Horstmann,
Jeanne Boyarsky, Heinz Kabutz,
Paul Anderson, and Gail Anderson.
To learn more about Java and its global ecosystem, please
visit:
- Dev.java: The official portal for learning Java
- Inside.java: News and views from the members of the Java Team
at Oracle
- Java YouTube: The official Java YouTube portal for Java
learning videos
Additional Resources
- Download Oracle JDK 21
- Read the Java 21 technical blog
- Learn more about Java Management Service
- Learn more about the Oracle Java SE Universal Subscription
About Oracle
Oracle offers integrated suites of
applications plus secure, autonomous infrastructure in the Oracle
Cloud. For more information about Oracle (NYSE: ORCL), please visit
us at www.oracle.com.
About Oracle CloudWorld
Oracle CloudWorld is Oracle's
largest global celebration of customers and partners. Join us to
discover the insights you need to tackle your biggest business
challenges, build your skills, knowledge, and connections, and
learn more about our cloud infrastructure, database, applications
and developer technologies including Java from the people that
build and use them. For registration, live keynotes, session
details, news and
more visit oracle.com/cloudworld or oracle.com/news.
Forward-Looking Statements Disclaimer
Statements in
this article relating to Oracle's future plans, expectations,
beliefs, and intentions are "forward-looking statements" and are
subject to material risks and uncertainties. Many factors could
affect Oracle's current expectations and actual results, and could
cause actual results to differ materially. A discussion of such
factors and other risks that affect Oracle's business is contained
in Oracle's Securities and Exchange Commission (SEC) filings,
including Oracle's most recent reports on Form 10-K and Form 10-Q
under the heading "Risk Factors." These filings are available on
the SEC's website or on Oracle's website at
http://www.oracle.com/investor. All information in this article is
current as of September 19, 2023 and
Oracle undertakes no duty to update any statement in light of new
information or future events.
Trademarks
Oracle, Java, MySQL and NetSuite are
registered trademarks of Oracle Corporation. NetSuite was the first
cloud company—ushering in the new era of cloud computing.
View original content to download
multimedia:https://www.prnewswire.com/news-releases/oracle-releases-java-21-and-extends-support-roadmap-301930953.html
SOURCE Oracle