“The innovative new enhancements in Java 20 reflect the vision and invaluable efforts the global Java community has contributed throughout Java’s existence. With the support provided by Oracle’s ongoing Java technology leadership and community stewardship, Java has never been more relevant as a contemporary language and platform that helps developers improve productivity.”
said Georges Saab, SVP of development, Java Platform and chair, OpenJDK Governing Board, Oracle.
Java 20 (Oracle JDK 20) delivers thousands of performance, stability and security improvements, including platform enhancements that will help developers increase productivity and drive innovation and growth in their organizations.
The latest Java Development Kit (JDK) provides updates and enhancements with seven JDK Enhancement Proposals (JEPs). The majority of the updates are follow-on features improving functionality introduced in earlier releases.
JDK 20 delivers language improvements from OpenJDK project Amber (Record Patterns and Pattern Matching for Switch); enhancements from OpenJDK Project Panama to interconnect Java Virtual Machine (JVM) and native code (Foreign Function & Memory API and Vector API). And features related to Project Loom (Scoped Values, Virtual Threads, and Structured Concurrency), which will dramatically streamline the process of writing, maintaining, and observing high-throughput, concurrent applications.
In addition to the new enhancements, Java 20 is supported by Java Management Service – a native service of Oracle Cloud Infrastructure (OCI) – which provides a single pane of glass to help organizations manage Java runtimes and applications on-premises or in any cloud.
]]>If the project is approved, the port might be ready for Java Development Kit (JDK) 18, which is expected to arrive in September. Plans presently call for supporting Java on Linux on RISC-V; the base RV64G ISA (instruction set architecture) would be supported, along with vector operations.
Contributors to the project include Huawei, Alibaba, and Red Hat. The proposal states Huawei already has a complete RISC-V port based on a snapshot of the OpenJDK mainline from May 2021. Huawei’s port has passed some JTReg tests and should be good enough to run most Java programs, according to the proposal. Support for vector operations is still experimental, with more testing needed. Source code would be rebased to the latest JDK mainline before integration into the JDK mainline.
RISC-V is an open-source licensed, royalty-free instruction set architecture for computing platforms ranging from embedded systems to enterprise servers. It leverages 47 base instructions, with users able to modularly add extensions for their specific designs. Participants in the RISC-V project have included companies such as Google, Nvidia, Rambus, and Samsung.
]]>Having the complete source code readily available, and now in a more commonly used download format, means it is easier than ever to build your own JDK. Yes, it’s a better-documented, easily configured process than in the past. But it’s still a bit confusing.
The source code for the OpenJDK recently moved from the Mercurial version control system (VCS) to the Git VCS and the GitHub repository system, and that’s probably a good thing.
In his latest article, Ian Darwin (Java Champion, the author of Java Cookbook and Android Cookbook) has explained all background information, why it matters, and what you need to know.
He covered different aspects of BitKeeper– a commercial software product by McVoy’s company, BitMover; Mercurial – one of its largest projects was Sun’s Java OpenJDK; Git and Github- Git offers branching, letting developers work on multiple sets of changes at the same time, and merging, pulling multiple branches into another branch, typically the main one. A related platform is GitHub, a cloud-based Git service with plenty of additions; etc.
One of the main questions which Ian pointed out was “Why the move, and why now?”.
Well, before the move from Mercurial, the OpenJDK lived in several repositories. It was decided that it would be best to consolidate into a single repository. Ian looked at a list of completed JEPs and project documents that provide insight into the four major stages of the GitHub consolidation and migration. In the end, he showed the audience how to Get the source code and build the OpenJDK.
The OpenJDK project has moved from Mercurial on java.net to Git on GitHub. Along the way, the eight repositories that were once needed to build the JDK were merged into one. This gives you the source code to build a complete instance of Java SE.
]]>Oracle announced the availability of Java 16 (Oracle JDK 16), including 17 new enhancements to the platform that will further improve developer productivity. The latest Java Development Kit (JDK) finalized Pattern Matching for instanceof (JEP 394) and Records (JEP 395), language enhancements that were first previewed in Java 14.
Additionally, developers can use the new Packaging Tool (JEP 392) to ship self-contained Java applications, as well as explore three incubating features, the Vector API (JEP 338), the Foreign Linker API (JEP 389), and the Foreign-Memory Access API (JEP 389), and one preview feature, Sealed Classes (JEP 397).
Oracle delivers Java updates every six months to provide developers with a predictable release schedule. This offers a steady stream of innovations while also delivering continued performance, stability and security improvements, increasing Java’s pervasiveness across organizations and industries of all sizes.
“The power of the six-month release cadence was on full display with the latest release,” Georges Saab, vice president of development, Java Platform Group, Oracle. “Pattern Matching and Records were introduced a year ago as part of JDK 14 and have since gone through multiple rounds of community feedback based on real-world applications. This process has not only given Java developers the opportunity to experiment with these features before they were finalized, but also incorporated that critical feedback which has resulted in two rock-solid JEPs that truly meet the needs of the community.”
The Java 16 release is the result of industry-wide development involving open review, weekly builds and extensive collaboration between Oracle engineers and members of the worldwide Java developer community via the OpenJDK Community and the Java Community Process.
The new features delivered in Java 16 are:
Language Enhancements First Introduced in JDK 14, Finalized in JDK 16
New Tool to Improve Developer Productivity
Improved Memory Management to Improve Performance
Improved Networking to Improve Developer Productivity and Flexibility
Addressing Future-incompatible Code
Incubating and Preview Features
Improvements for OpenJDK Contributors
New Ports Provide Support for Java on More Platforms
GraalVM Enterprise
Java remains among the most successful development platforms ever, based on continuous innovation to address the evolving needs of modern application developers. To make the Oracle Java SE Subscription even more valuable to customers, Oracle added GraalVM Enterprise as an entitlement. GraalVM can help improve performance and reduce resource consumption by applications, especially in microservices and cloud-native architectures. Organizations that manage their Java estates by leveraging the Oracle Java SE subscription not only benefit from having the latest enhancements and direct access to Java experts at Oracle, but experience substantial savings over other approaches.
“Instead of getting interested every three or four years about what was new in Java, this cadence keeps me active as a passionate developer, teacher and trainer,” said José Paumard assistant professor, University Sorbonne Paris Nord and co-organizer, Paris Java User Group. “I have eagerly awaited using Records to improve the performance and readability of my data processing code, and after being able to use it as a preview feature, it is now going live with this latest release.”
Developers can learn more about Java 16 and get hands-on experience at Oracle Developer Live: Java Innovations on March 23, 25 and 30.