Oracle Announces Java 18
March 23, 2022

Oracle announced the availability of Java 18.

Java 18 (Oracle JDK 18) delivers thousands of performance, stability, and security improvements, including nine enhancements to the platform that will further improve developer productivity.

The latest Java Development Kit (JDK) provides updates and improvements with nine JDK Enhancement Proposals (JEPs). These include the capability to add Code Snippets in Java API Documentation (JEP 413), which simplifies the addition of sample source code in API documentation, and Simple Web Server (JEP 408) for prototyping and testing. Developers can explore two incubating modules: the Vector API (JEP 417) and the Foreign Function and Memory API (JEP 419), as well as a preview feature: Pattern Matching for Switch (JEP 420).

“The release of Java 18 demonstrates Oracle’s continued commitment to provide enterprises and developers faster access to enhancements with the six-month feature release cadence,” said Georges Saab, VP of Development, Java Platform Group, Oracle. “We continue to make technical investments that improve the performance, stability, and security of the Java SE Platform implementations, as well as the Java Development Kit.”

Oracle recently introduced Java Management Service (JMS), a new Oracle Cloud Infrastructure (OCI) native service to help manage Java runtimes and applications on-premises or on any cloud. JMS delivers the information needed to manage Java deployments across the enterprise. Java Management Service is included for OCI workloads and for Java SE Subscribers.

Java 18 is the latest release under Java’s six-month release cadence and is the result of extensive collaboration between Oracle engineers and other members of the worldwide Java developer community via the OpenJDK Project and the Java Community Process (JCP). This provides a steady stream of innovations while also delivering continued performance, stability and security improvements that will increase Java’s pervasiveness across organizations and industries of all sizes.

The largest changes delivered in Java 18 are:

Updates and Improvements to Libraries:

- JEP 400: UTF-8 by Default—Sets UTF-8 as the default charset of the standard Java APIs. With this change, APIs that depend on the default charset will behave consistently across all implementations, operating systems, locales, and configurations.

- JEP 408: Simple Web Server—A command-line tool and API to start a minimal web server that serves static files only. This tool will be useful for prototyping, ad-hoc coding, and testing purposes, particularly in educational contexts.

- JEP 416: Reimplement Core Reflection with Method Handles—Reimplements java.lang.reflect.Method, Constructor, and Field on top of java.lang.invoke method handles. By making method handles the underlying mechanism for reflection, it reduces the maintenance and development cost of both the java.lang.reflect and java.lang.invoke APIs.

- JEP 418: Internet-Address Resolution SPI—Defines a service-provider interface (SPI) for host name and address resolution, so that java.net.InetAddress can make use of resolvers other than the platform's built-in resolver.

Tools:

- JEP 413: JEP Code Snippets in Java API Documentation—Introduces the @snippet tag for JavaDoc’s Standard Doclet to simplify the inclusion of example source code in API documentation.

Preview and Incubators for Later JDK Releases:

- JEP 417: Vector API (Third Incubator)—Provides an API for developers to reliably leverage CPU architectures that provide scalable vector extensions. This will lead to superior performance compared to equivalent computations on non-extended processors.

- JEP 419: Foreign Function and Memory API (Second Incubator)—Enables Java programs to interoperate with code and data outside of the Java runtime. By efficiently invoking foreign functions (i.e., code outside the JVM), and by safely accessing foreign memory (i.e., memory not managed by the JVM), the API enables Java programs to call native libraries and process native data without the brittleness and pitfalls of JNI.

- JEP 420: Pattern Matching for Switch (Second Preview)—Enhances the Java programming language with pattern matching for switch expressions and statements, along with extensions to the language of patterns. Extending pattern matching to switch allows an expression to be tested against a number of patterns, each with a specific action, so that complex data-oriented queries can be expressed concisely and safely.

Future Proofing Java Programs:

- JEP 421: Deprecate Finalization for Removal—Finalization remains enabled by default for now, but can be disabled to facilitate testing. In a future release, it will be disabled by default, and in a later release, it will be removed. Maintainers of libraries and applications that rely upon finalization should consider migrating to other resource management techniques such as the try-with-resources statement and cleaners.

Share this

Industry News

May 02, 2024

Parasoft announces the opening of its new office in Northeast Ohio.

May 02, 2024

Postman released v11, a significant update that speeds up development by reducing collaboration friction on APIs.

May 02, 2024

Sysdig announced the launch of the company’s Runtime Insights Partner Ecosystem, recognizing the leading security solutions that combine with Sysdig to help customers prioritize and respond to critical security risks.

May 02, 2024

Nokod Security announced the general availability of the Nokod Security Platform.

May 02, 2024

Drata has acquired oak9, a cloud native security platform, and released a new capability in beta to seamlessly bring continuous compliance into the software development lifecycle.

May 01, 2024

Amazon Web Services (AWS) announced the general availability of Amazon Q, a generative artificial intelligence (AI)-powered assistant for accelerating software development and leveraging companies’ internal data.

May 01, 2024

Red Hat announced the general availability of Red Hat Enterprise Linux 9.4, the latest version of the enterprise Linux platform.

May 01, 2024

ActiveState unveiled Get Current, Stay Current (GCSC) – a continuous code refactoring service that deals with breaking changes so enterprises can stay current with the pace of open source.

May 01, 2024

Lineaje released Open-Source Manager (OSM), a solution to bring transparency to open-source software components in applications and proactively manage and mitigate associated risks.

May 01, 2024

Synopsys announced the availability of Polaris Assist, an AI-powered application security assistant on the Synopsys Polaris Software Integrity Platform®.

April 30, 2024

Backslash Security announced the findings of its GPT-4 developer simulation exercise, designed and conducted by the Backslash Research Team, to identify security issues associated with LLM-generated code. The Backslash platform offers several core capabilities that address growing security concerns around AI-generated code, including open source code reachability analysis and phantom package visibility capabilities.

April 30, 2024

Azul announced that Azul Intelligence Cloud, Azul’s cloud analytics solution -- which provides actionable intelligence from production Java runtime data to dramatically boost developer productivity -- now supports Oracle JDK and any OpenJDK-based JVM (Java Virtual Machine) from any vendor or distribution.

April 30, 2024

F5 announced new security offerings: F5 Distributed Cloud Services Web Application Scanning, BIG-IP Next Web Application Firewall (WAF), and NGINX App Protect for open source deployments.

April 29, 2024

Code Intelligence announced a new feature to CI Sense, a scalable fuzzing platform for continuous testing.

April 29, 2024

WSO2 is adding new capabilities for WSO2 API Manager, WSO2 API Platform for Kubernetes (WSO2 APK), and WSO2 Micro Integrator.