Oracle announced the availability of Java 18: the latest version of the world’s number one programming language and development platform. Java 18 (Oracle JDK 18) offers thousands of performance, stability and security improvements, including 9 platform improvements that enable developers to be more productive.
The latest Java Development Kit, or Java Development Kit (JDK), provides updates and enhancements with nine JDK Enhancement Proposals (JEPs). These include the ability to add Code Snippets in Java API Documentation (JEP 413), which in turn makes it easier to add sample source code into API documentation and Simple Web Server (JEP 408) for prototyping and test. Developers can explore two incubation modules: Vector API (JEP 417) and Foreign Function and Memory API (JEP 419), as well as a preview feature, Pattern Matching for Switch (JEP 420).
“The Java 18 release demonstrates Oracle’s continued commitment to providing businesses and developers with faster access to enhancements with a six-monthly feature release cadence,” he said. Georges Saab, Vice President of Development, Java Platform Group, Oracle (in the picture). “We continue to make technical investments that improve the performance, stability and security of the Java SE platform and Java Development Kit implementations.”
“Java developers need continuous innovation with respect to modern programming language features, development experience enhancements, cloud managed services and stability,” he said. James Governor, Principal Analyst di RedMonk. “By constantly updating Java every six months, Oracle meets these demands and helps keep Java relevant for modern applications and workloads.”
Accelerate Java adoption in the cloud
Oracle recently introduced Java Management Service (JMS), a new service originating from Oracle Cloud Infrastructure (OCI), which allows you to manage Java runtimes and applications on-premise and in any cloud. The JMS service provides the information needed to manage Java deployments across the enterprise and is included for OCI workloads and Java SE subscribers.
Java 18 is the most recent release as regards the biannual cadence on the front of the Java “releases” and is the result of a close collaboration between Oracle engineers and other members of the Java developer community at a global level, through the OpenJDK Project and JCP (Java Community Process). This offers a continuous stream of innovation and constant improvements in performance, stability and security, which will expand the use of Java in organizations and industries of all sizes. Below are the most important changes made to Java 18:
Library updates and enhancements
- JEP 400: UTF-8 by Default sets UTF-8 as the default character set of standard Java APIs. With this change, APIs that depend on the default character set will work consistently across all implementations, operating systems, locales, and configurations.
- JEP 408: Simple Web Server, a command line tool, and an API for starting a minimal web server that only distributes static files. This tool is useful for prototyping, writing ad hoc code and testing, particularly in educational settings.
- JEP 416: Reimplement Core Reflection with Method Handles reimplements java.lang.reflect.Method, constructor and field on java.lang.invoke method handles. By making method handles the basic reflection mechanism, you reduce the maintenance and development costs of the java.lang.reflect and java.lang.invoke APIs.
- JEP 418: Internet-Address Resolution SPI defines an SPI (Service-Provider Interface) for resolving the host name and address, so that java.net.InetAddress can use resolvers other than the one integrated into the platform.
- JEP 413: JEP Code Snippets in Java API Documentation introduces the @snippet tag for the standard JavaDoc Doclet to make it easier to include the sample source code in the API documentation.
Preview and incubators for upcoming JDK releases
- JEP 417: Vector API (Third Incubator) provides developers with an API to reliably take advantage of CPU architectures that offer scalable vector extensions. This will provide higher performance than equivalent calculations in non-extended processors.
- JEP 419: Foreign Function and Memory API (Second Incubator) it allows Java programs to interact with code and data outside the Java runtime. By efficiently calling extraneous functions (i.e. code outside of the JVM) and safely accessing extraneous memory (i.e., non-JVM-managed memory), the API allows Java programs to call native libraries and process native data without the frailty and the pitfalls of JNI.
- JEP 420: Pattern Matching for Switch (Second Preview) enhances the Java programming language with pattern matching for switch statements and expressions and pattern language extensions. Extending pattern matching to the switch allows you to test an expression against various patterns, each with a specific action, so that complex data-driven queries can be expressed briefly and securely.
Java programs for future needs
- JEP 421: Deprecate Finalization for Removal; finalization remains enabled by default for now, but can be disabled to facilitate testing. In a future release, this option will be disabled by default and will be removed in a later release. It is recommended that managers of libraries and applications that rely on finalization consider other resource management techniques, such as the try-with-resources statement and cleaners.
Java customer support
Oracle Java SE Subscription, a predictable pay-as-you-go offering, offers customers world-class support, the right to GraalVM Enterprise, access to the Java Management Service, and the flexibility to upgrade according to the needs of your company. This allows IT organizations to manage complexity, contain costs and reduce security risks.