The growth rate for Java 17 has “exploded” and it has overtaken the previous most widely used long-term-support (LTS) version of the programming language, new research shows.
Oracle releases new Java versions every six months with some new features and bug fixes, and a new Java long-term-support (LTS) version with updates to help improve stability, security, and performance every two years.
The most recent of these were Java 21 in September 2023, Java 17 in September 2021, and Java 11 in September 2018.
The report from New Relic said that 9% of applications were using Java 17 in production in 2023, but now 35% of applications are using it. “The Java 17 growth rate exploded to a nearly 300% year-over-year increase”, the New Relic report said.
“It took years for Java 11 to reach anywhere near that level.”
Java 17 is now the most popular version LTS version of Java, albeit just ahead of Java 11 which is now used by 32.9% of applications, the survey said, while Java 8 still accounts for 28.8% of applications.
Java 8 and Java 17 appear to be ‘neck-and-neck’
Other research has put Java 8 and Java 17 neck-and-neck when it comes to their use in applications. Less than 2% of applications were using non-LTS versions of Java.
In the six months after the release of Java 21, 1.4% of applications monitored by New Relic were using it. While that might seem small, this is rapid adoption: in the six months after Java 17 was introduced, only 0.37% of applications were using it.
In terms of Java Development Kit (JDK) vendors, in 2020 Oracle was the most popular JDK vendor with about 75% of the market but there has been significant decline since then, to the point at which it now has a 21% market share.
Amazon’s recent popularity – 31% of the JDK market in 2023 – has apparently waned so that it now accounts for 18% in 2024, New Relic said.
It described Eclipse Adoptium as the ‘rising star’ as adoption grew from 12% to 18%, noting that, because Eclipse Adoptium is community-managed, this JDK tends to be updated more frequently than the Oracle and Amazon JDKs.
The New Relic report is based on data gathered from hundreds of thousands of applications reporting to New Relic in 2024 that provide performance information, but the company cautioned that it doesn’t provide a global picture of Java usage.
The report also looked at Java garbage collectors; these are memory management components used to prevent memory leaks, optimize memory usage, and ensure the overall performance and stability of Java applications.
Since Java 11, the Garbage-First (G1) GC has been the default, which is why 43% of customers are using it. The second most popular option is Serial (37%), which New Relic said is ideal for applications or systems that run on a single processor or where a high number of Java virtual machines (JVMs) are running on the same machine.
The New Relic data shows a jump 18% year-over-year in applications running with four or fewer cores. It said this shift makes a lot of sense in cloud environments where people are often deploying containers.
“This trend can pose unexpected issues for some applications. In particular, many of the concurrent benefits from the default G1 [garbage collector] on recent JVMs vanish when running with fewer than two cores. All those single-core instances may as well be using the Serial collector—and paying the performance cost of that,” the report said.
When looking at JVM memory settings, 32% of Java applications use 1GB or less and 68% use more than 1GB – a 15% increase in applications using more than 1GB of memory year-on-year.
New Relic found that 91% of Java applications use some form of logging tools to troubleshoot issues and fixes: the most-used logging framework was Log4j with 76% of Java applications using it, followed by JBoss Logging (61%) and Logback (52%).
Beyond this, the report said, most (83%) of Java developers rely on SLF4j, which is a framework that acts as an abstraction for other types of Java logging frameworks.
“SLF4j enables software developers to use the logging framework of their choice and enables applications to switch to any Java logging framework interchangeably without impacting its implementations or doing any changes,” the report said. It this way, SLF4j makes applications independent of logging frameworks.
More than two-thirds (41%) of the Java applications reporting to New Relic use encryption libraries: 17% use the excellently-named Bouncy Castle, 16% use Spring Security, and 6% use Jasypt.
The report noted that Bouncy Castle has been a popular library for encryption for many years, due to its set of cipher suites and utilities.
Oracle Database is the most widely used database, with 17% of Java applications reporting to New Relic using it, followed by PostgreSQL at 14%: MySQL comes in third, with 13% of Java applications using it.
“PostgresSQL has gained popularity in the last year because it’s more compliant with the SQL specs and it supports more features than MySQL. MySQL is still a top database system, but we can see that its popularity is decreasing while PostgresSQL’s popularity is growing,” the report said.
Java remains one of the most popular programming languages, according to the 2023 Stack Overflow developer survey,
Java is the seventh most popular programming language among professional developers. Tech analyst RedMonk lists Java as joint number two in its programming languages ranking, meanwhile Tiobe has it at number four on its list.