Oracle releases Java 19 with seven significant improvements • History

Oracle on Tuesday celebrated the release of Java 19 (JDK 19), the latest iteration of the popular general-purpose programming language.

In the missionary chipset that accompanies this release, Oracle ranks Java as “the number one language for current technology trends” and “the number one language in organizational use for mass development.” The company also cites findings from the consulting firm VDC Research that “Java is the cloud’s first choice. “

When measured in general terms, Java is categorized # 2 or # 3 or # 5, depending on which programming language survey is being cited. But the popularity of a programming language alone, however measured it may be, does not necessarily build an ecosystem.

Suffice it to say that Java is still very important to Oracle, for the estimated 10 million Java developers roaming the world, and the 60 billion active Java Virtual Machines (JVMs) that are based on the 27-year-old programming language.

Oracle JDK is based on OpenJDK, an open source reference implementation of the Java SE Platform Edition. Oracle JDK is available under Subscription license While OpenJDK is offered under GPL license.

dinar 19 It arrives with seven proposals to improve the JDK after six months dinar 18. This is a rhythm that Oracle believes balances the needs of Java developers, customers, and maintainers.

Before 2017, the database biz and Java barista waited several years between Java versions, which ended up cause delay It eventually became untenable amid the accelerated release cycles that Google, among others, championed during the transition from on-premises to cloud computing.

inner path

In an interview with recordThis is the tenth release under the six-month release cycle, said George Saab, Senior Vice President of Java Platform Development and Chairman of the OpenJDK Board of Directors.

“All those releases came at the specified time and date,” Saab said. “There has been no delay since we moved to this model, which, as you probably know, wasn’t always the case with the previous model we had.”

The result, Saab said, is the ability to get innovation into developers’ hands more quickly than was possible during multi-year release cycles.

“In the past, they often had to wait a very long time to get anything new in Java, and then they would have had a lot, all at once,” he explained.

“We realize that not everyone out there wants to put everything back in every six months,” Saab said. “So the important thing we did there was offer a Java SE subscription for long-term support, which basically makes it even for companies that want the convenience of staying on one version and getting updates every three months, to keep it safe, [can do that.]”

The accelerated release cycle of Java does not necessarily mean that new features appear suddenly. They often appear as preview technologies, to stimulate and modify community feedback in later releases.

“We haven’t found a magical way to do three or four years of work in six months,” Saab explained.

Thus, the Java development process has become iterative and participatory, even allowing community members to sit outside versions as features mature.

The improvements that the Java community has focused on are organized around specific topics.

Saab said, “As an example,” the Amber project is a project to work on improving the Java language and Java syntax, to make it more modern, more concise, easier to use and, above all, easier to read and understand. Leyden takes care of optimizing your start-up time and warm-up time. Loom is all about scalability and taking Java’s scalability to the next level. “

In Java 19, these thematic projects are expressed in various Java Improvement Proposals, or JEPs.

As part of Project Amber, give 405 It offers a preview of log patterns, which is a way to break up log values ​​by associating each component with a variable. Another Project Amber kid, give 427matching the pattern to switch, enters the third preview.

From Project Loom, there give 425Virtual Threads, a preview of a lightweight threading app to complement the more powerful Streams API.

Saab explained: “We have taken away the long-standing assumption that there is a one-to-one mapping between a Java thread and a native thread.” “With virtual threads, you can have tens of thousands of Java threads mapped to a native thread.”

While this is not something most Java developers will do [do every day]It means that people who write high-performance servers, or other things they want to be able to get to that level, now have these new facilities to basically extend their applications and frameworks in a way they don’t. t ask them to change the programming paradigm.”

Another Loom initiative in the latest version is give 428Structured concurrency is a nursery-level effort to simplify multithreaded programming.

Panama project brings give 424, a preview API called function and foreign memory which allows Java programs to call outside the JVM with native libraries and native data. Another expansion in Panama is give 426the fourth incubator version of the Vector API, which enables developers to build vector computations that compile efficiently using the most appropriate vector instructions in supported CPU architectures.

Finally, there is give 422a Linux/RISC-V port that simplifies Linux/RISC-V applications by integrating the port into the main JDK repository.

Saab said that in addition to these JEPS, the Java versions include more than a thousand bug fixes that improve stability and performance. He said that Java clients often delay upgrades because they look at the list of features and don’t clearly see anything they need. But he urges Java developers to take advantage of the program “because everything is getting better.”

do not wait

Reticence to upgrade is common in the Java world, where organizations have reason to worry about potential incompatibilities. According to the monitor bis fresh leftoversJava 11, released in September 2018, is the most popular version of Java at the moment (48 percent), followed by Java 8, released in March 2014 (46 percent). Both are Long Term Support (LTS) releases.

Suits 2022 JRebel Java Developer Productivity Report’s Finding that the main reason for adopting the JDK upgrade is a new LTS release (25 percent), which exceeds justifications such as security (23 percent), performance (20 percent), new features (18 percent), and compliance (14 percent).

But even LTS versions take some time to be approved. The latest version of LTS, Java 17, as of September 2021, accounts for only 0.37 percent of Java usage as of January 2022. Recent versions other than LTS (10, 12, 13, 14, 15, and 16) are similarly rare in the New Relic stats.

So it may take some time before Java 19 becomes statistically significant. The next LTS release is expected Java 21 Instead of Java 23. ®