The adoption rate of Java 17 increased by 430%, Java 11 ranked first, and the latest Java programming language report is here!

1bc37b443983fd32f6da630e6c22081a.gif

54f1883d594cc9eeb37760c9df62cda8.png

In 1995, Sun Microsystems released the Java programming language, which provided a more portable and interactive way to develop modern multimedia applications. Since then, Java has become one of the mainstream programming languages, used in all walks of life, and has the advantage of "write once, run anywhere".

Recently, in order to reveal the latest development status of the Java ecosystem, the analysis company New Relic recently released the "2023 Java Ecosystem Status" report after investigating features such as new versions, container applications, and garbage collection.

In this article, we will share with you an in-depth understanding of this widely used programming language.

Java 17 adoption grows 430% in a year

As we all know, Java releases are divided into long-term support (LTS) and short-term support releases. Generally, the long-term supported version is relatively stable, or the official patch package will be continuously updated. Short-term support releases exist only as interim releases.

Since 2017, when Oracle changed the update frequency of the Java version to six months, the long-term support LTS version is updated approximately every 2-3 years. However, this high-frequency update rate has caused countless complaints from netizens, and the voices of not being able to learn are endless, so that many people show a "bad" state of "you can change it, I don't need it".

No, Oracle released the latest version of Java 20 in March this year. However, according to the latest data report, Java 11 has topped the list for two consecutive years, becoming the most commonly used version of Java by developers.

Today, more than 56 percent of applications are using Java 11 in production, up from 48 percent in 2022 and 11 percent in 2020.

Java 8 usage is not far behind, with nearly 33 percent of applications using it in production (down from 46 percent in 2022).

Although Java 11 ranks first, the adoption rate of Java 17, the latest LTS version, has been increasing year by year, from less than 1% last year to more than 9% this year. According to research reports, Java 17 has grown by 430% in the past year, while Java 11 took years to reach that level.

In comparison, only 0.28% of applications are still using Java 7 in production. This is not without reason, and the reason is that the official support for Java 7 has ended in 2022. Most applications using Java 7 are legacy applications that have not been upgraded.

cdc7e3cf6ab06f5a11c4f727b3b87ab3.png

Short-term non-LTS Java version usage remains extremely low compared to LTS versions, with only 1.6% of applications using non-LTS Java versions (down from 2.7% in 2022).

According to the report's findings, some of the factors that may have contributed to the decline in the usage of non-LTS versions include:

  • lack of support

  • Unattractive new features

  • The time until the next LTS release is too short

Once upon a time, after Java 8 was released, the outside world did not know when the next LTS version, Java 11, would be released. However, later, Oracle made a clear promise: an update every six months. Since then, everyone has a clear understanding. Naturally, they would rather wait for the next LTS version than use an unstable non-LTS version in the production environment.

Among the non-LTS Java versions in use, Java 14 remains the most popular at 0.57 percent (down from 0.95 percent in 2022), with Java 15 not far behind (0.44 percent, down from 0.95 percent in 2022), the data shows. 0.70%).

4833ecf29abd20b61dd1b111f086c37e.png

e705589f2d6bd7c799df35234ec8044d.png

Amazon is now the most popular JDK vendor

In recent years, the source code of the Java Developer Kit (JDK) distribution used has changed. In the past, many developers often obtained their JDK from Oracle, but Oracle JDK later adopted a charging policy for commercial applications, which discouraged many people. Fortunately, the OpenJDK project has become more and more abundant and has become everyone's choice.

Survey data shows that in 2020, Oracle is the most popular JDK vendor, accounting for about 75% of the Java market. After the licensing of its JDK 11 release became stricter (before Java 17 returned to a more open stance), industry developers started to move away from Oracle. While Oracle will retain the top spot with a 34% share in 2022, it will slip to 28% in 2023.

In stark contrast, Amazon's usage has risen sharply to 31% market share (from 2.18% in 2020 and 22% in 2022), making it the most popular JDK vendor.

08c4600f3a7177cd2b10315782654a65.png

406e32a9f0901c3da99495a485462f88.png

Containerized applications have gone mainstream, with 70% of Java applications coming from containers, according to New Relic research.

Containers impact how engineering teams allocate compute and memory resources. For example, New Relic data shows a much higher percentage of applications running in containers with fewer than 4cores.

Engineering teams are moving away from single-core setups in containers, with only 36% using them (down from 42% in 2022), and moving to multi-core setups, with more than 29% using 8-core setups (up from 20% in 2022).

Engineering teams typically use smaller compute setups in cloud environments where they frequently deploy containers. However, this tendency may cause unexpected problems for some applications, which may result in reduced configuration. For example, if a team is only using one CPU, they may not get the garbage collector they expect - even if they explicitly set it.

e01e76d6394759df842c2b6b32a9e0b8.png

Automatic garbage collection is the process of looking at heap memory, identifying which objects are in use and which are not, and removing the unused objects. Given its central role in JVM performance, garbage collection remains a hot topic in the Java community.

New Relic data shows that the Garbage-First (G1) garbage collector remains the favorite of users using Java 11 or later, with 65% of customers using it. One of the main benefits of G1 is that it optimizes the collection process by clearing smaller regions rather than large ones at once. It also rarely freezes execution and can collect both young and old generations, making it a good default for engineers.

The other experimental garbage collectors that appeared after Java 8 (ZGC and Shenandoah) are still rarely used in production systems. There are production-ready versions of both, but are still negligible in general handling.

For the full report, see: https://newrelic.com/sites/default/files/2023-04/new-relic-2023-state-of-the-java-ecosystem-2023-04-20.pdf

d98e9ed7e964e7917da0156d2f166d2f.gif

Guess you like

Origin blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/130998316