Oracle Releases Java 23
September 17, 2024

Oracle announced the availability of Java 23, the latest version of the programming language and development platform.

Java 23 (Oracle JDK 23) delivers thousands of improvements to help developers increase productivity and drive innovation, while enhancements to the platform's performance, stability, and security help organizations accelerate business growth.

"Java continues to evolve to support organizations' increasingly diverse modern application development needs," said Arnal Dayaratna, research vice president, software development, IDC. "The new release enables developers to expand their toolset and increase their productivity, helping them build and deliver applications that leverage the power of groundbreaking technologies such as AI. By delivering innovative new capabilities every six months, Java continues to help development teams add significant value to their organizations."

In addition to the new enhancements and features for developers, Java 23 provides significant value to their organizations. For example, Java 23 is supported by the recent GA of Java Management Service (JMS) 9.0, an Oracle Cloud Infrastructure (OCI) native service that provides a unified console and dashboard to help organizations manage Java runtimes and applications on-premises or in any cloud. In addition, JMS 9.0 provides many usability improvements, and Oracle JDK 23 provides more options to fine-tune and improve peak performance with the addition of the Graal compiler, a dynamic just-in-time (JIT) compiler written in Java that transforms bytecode into optimized machine code.

"The new features in Java 23 help developers across all levels of expertise increase their productivity and streamline the development of high-performing, secure, and scalable applications," said Georges Saab, senior vice president, Oracle Java Platform and chair, OpenJDK governing board. "With a wide range of new features and tools designed to help developers build and deliver applications faster and more efficiently, Java 23 helps development teams and their organizations boost innovation and drive increased business growth."

Java 23 delivers improvements and enhancements to the Java language, runtime, libraries, and the tools included in the Java Development Kit (JDK). Significant updates delivered in Java 23 are:

■ Language Features via Project Amber

- JEP 455: Primitive Types in Patterns, instanceof, and switch (Preview): Help increase Java programming productivity by making the language more uniform and more expressive. By helping to remove restrictions pertaining to primitive types that developers encounter when using pattern matching, instanceof, and switch, it enhances pattern matching by allowing primitive type patterns in all pattern contexts, and also extends instanceof and switch to work with all primitive types.

- JEP 476: Module Import Declarations (Preview): Helps developers improve productivity by enabling them to quickly and easily import all the packages exported by a module, without requiring the importing code to be in a module itself. This simplifies the reuse of modular libraries for all developers and helps beginners more easily use third-party libraries and fundamental Java classes without needing to learn where they are located in a package hierarchy.

- JEP 477: Implicitly Declared Classes and Instance Main Methods (Third Preview): Help accelerate learning and skills development by offering a smooth on-ramp to Java programming to enable students to write their first programs without needing to understand language features designed for large programs. As a result, educators and instructors can introduce concepts gradually, and students can write streamlined declarations for single-class programs and seamlessly expand their programs with more advanced features as their skills grow. In addition, experienced Java developers can write small programs succinctly without needing to use tools designed for larger projects.

- JEP 482: Flexible Constructor Bodies (Second Preview): Help developers increase productivity by allowing statements to appear before an explicit constructor invocation – such as super(..) or this(..). The statements cannot reference the instance under construction, but can initialize its fields before invoking another constructor, which makes a class more reliable when methods are overridden. This gives developers greater freedom to express the behavior of constructors and preserves the existing guarantee that constructors run in top-down order during class instantiation.

■ Libraries

- JEP 466: Class-File API (Second Preview): Helps developers improve productivity by providing a standard API for parsing, generating, and transforming Java class files.

- JEP 469: Vector API (Eighth Incubator): Helps developers improve productivity by introducing an API to express vector computations that reliably compile at runtime to vector instructions on supported CPU architectures. As a result, developers can achieve performance superior to equivalent scalar computations.

- JEP 473: Stream Gatherers (Second Preview): Helps developers improve productivity by enhancing the Stream API to support custom intermediate operations, which allow stream pipelines to transform data in ways that are not easily achievable with existing built-in intermediate operations. By making stream pipelines more flexible and expressive and allowing custom intermediate operations to manipulate streams of infinite size, this feature enables developers to become more efficient in reading, writing, and maintaining Java code.

- JEP 480: Structured Concurrency (Third Preview): Helps developers improve the maintainability, reliability, and observability of multithreaded code by simplifying concurrent programming via a new API for structured concurrency. By consolidating groups of related tasks running in different threads into a single unit of work, structured concurrency can help eliminate common risks arising from cancellation and shutdown, such as thread leaks and cancellation delays.

- JEP 481: Scoped Values (Third Preview): Helps developers increase the ease-of-use, comprehensibility, performance, and robustness of their projects by enabling the sharing of immutable data within and across threads.

■ Performance and Runtime Updates

- JEP 474: ZGC: Generational Mode by Default: Helps developers increase efficiency by switching the default mode of the Z Garbage Collector (ZGC) to the generational mode, which reduces the resources and maintenance costs required to support two different modes.

■ Tools

- JEP 467: Markdown Documentation Comments: Helps developers increase efficiency and productivity by enabling Javadoc documentation comments to be written in Markdown rather than solely in HTML and Javadoc @-tags. By gaining the ability to use Markdown syntax in documentation comments alongside HTML elements and JavaDoc tags, developers can more easily write and read API documentation comments in source form without adversely impacting the interpretation of existing documentation comments.

■ Stewardship

- JEP 471: Deprecate the Memory-Access Methods in sun.misc.unsafe for Removal: Provides developers with a streamlined toolset by helping them understand when their applications rely, directly or indirectly, on the memory-access methods in sun.misc.Unsafe, which is planned for removal in a future release.

The features in the Java 23 release are a result of continuous close collaboration between Oracle and other members of the worldwide Java developer community via OpenJDK and the Java Community Process (JCP).

Java delivers increased performance, efficiency, cost savings, and innovation when deployed on OCI, which is one of the first hyperscale clouds to support Java 23. By delivering Oracle Java SE, Oracle GraalVM, and the Java SE Subscription Enterprise Performance Pack at no additional charge on OCI, Java 23 helps developers build and deploy applications that run faster, better, and with optimized cost-performance.

The Oracle Java Universal SE Subscription is an offering that provides customers with best-in-class support. It includes triage support for the entire Java portfolio, entitlement to Oracle GraalVM, the Java SE Subscription Enterprise Performance Pack, access to the advanced features of JMS, and the flexibility to upgrade at the pace of customers' businesses. This helps IT organizations manage complexity, mitigate security risks, and contain costs.

In addition, Oracle recently announced at Oracle CloudWorld that Oracle Code Assist will be initially optimized for Java. Oracle Code Assist is an AI code companion that makes it easier to build Java applications, and the Oracle Code Assist service running on OCI will also be available for C, C++, Go, JavaScript, PL/SQL, Python, Ruby, and Rust.

Share this

Industry News

September 19, 2024

Progress announced the speaker lineup for the MarkLogic World Tour US, taking place September 23-25, 2024, at the Bethesda Marriott in Maryland.

September 19, 2024

Citrix announced the general availability of Citrix VDA for macOS, expanding their desktop virtualization solutions, and MacStadium support this launch with its industry-leading IaaS offering, optimized for Citrix VDA for macOS deployments in the cloud.

September 19, 2024

Elastic announced the Elasticsearch Open Inference API now supports Hugging Face models with native chunking through the integration of the semantic_text field.

September 19, 2024

Codecov by Sentry, a dedicated code coverage reporting solution, announced Bundle Analysis and Test Analytics, two new solutions designed to accelerate workflows and arm developers with actionable insights to create a seamless development experience.

September 19, 2024

NightVision released API eNVy, an Application Programming Interface (API) solution that enables organizations to discover and document APIs in seconds.

September 19, 2024

Kong announced the global expansion of its Kong Konnect Dedicated Cloud Gateways.

September 18, 2024

MacStadium announced the General Availability of Orka Desktop 3.0, a powerful, user-friendly tool that allows developers, testers, and macOS admins to create, test, and manage macOS virtual machines (VMs) on local Apple silicon-based computers.

September 18, 2024

Komodor announced Klaudia, a Generative AI (GenAI) agent for troubleshooting and remediating operational issues, as well as optimizing Kubernetes environments.

September 18, 2024

Inflectra announced the launch of Rapise v8, a test automation solution that uses the power of Generative AI to deliver true autonomous testing.

September 17, 2024

Check Point® Software Technologies Ltd. has been recognized as one of theWorld’s Best Companies of 2024 by TIME and Statista.

Check Point made its debut on the list due to its strong employee satisfaction, revenue growth, and ESG efforts.

September 17, 2024

Oracle announced the availability of Java 23, the latest version of the programming language and development platform.

September 17, 2024

JFrog announced a new product integration with NVIDIA NIM microservices, part of the NVIDIA AI Enterprise software platform.

September 17, 2024

Tigera announced several new features for Calico Cloud and Calico Enterprise to improve the efficiency of remediating vulnerabilities in container images, and ensure compatibility with the latest deployment options for OpenShift.

September 17, 2024

Gearset announced the acquisition of Clayton, a code analysis platform designed specifically for Salesforce.

September 16, 2024

Docker is introducing a new way for developers and organizations to access its suite of products – including Docker Desktop, Docker Hub, Docker Trusted Content, Docker Scout, Docker Build Cloud, and Testcontainers Cloud.