The current state of the Java world: trends and facts for one of the most popular programming languages

From a translator : despite the somewhat advertising nature of this article, the author gives some pretty interesting statistics on the current state of the Java ecosystem. We hope that these statistics will be useful to readers.


A version of this article was also previously published on The New Stack .


The modern software industry is incredibly vast, so there is no shortage of choice of programming languages. But even within the same technology stack, like the Java ecosystem, it can be quite difficult to draw useful insights about market conditions. Java is incredibly successful and present in almost every major industry and economic sector, and this, in part, is what makes it difficult to find a single point of view on the current state of the Java world.


But this does not mean that one cannot try to roughly assess the state of this sphere.


Every day, tens of millions of Java Virtual Machines (JVMs) transfer their data to New Relic. To make this report, we anonymized and deliberately reduced the granularity of this data to give a broad view of the Java ecosystem, as we see it. We also did not include very detailed information in the report that could help hackers and other attackers in their attacks.


We hope that these observations will provide some new contextual information and provide food for thought about the current state of the Java ecosystem. With this thought in mind, we looked at the following questions:


  • What versions of Java are used in commercial use?
  • Which Java vendors are the most popular?
  • What is the most commonly used garbage collection algorithm?
  • What are the most common memory settings?

Java 8 is still standard. Still standard


, Java : β€œ Java ?”. :


Java%
140.00
130.32
120.17
1111.11
100.48
90.18
842.02
838.63
83.83
72.54
pre-70.73
Non-LTS1.14

. Java 8 :


  • : , CVE
  • : , Java
  • : , ,

, Java 11 β€” LTS β€” , , , , Java 8 ( LTS). -LTS β€” Java 7 (2.54%) , Java 8, (1.14%)


-Oracle


, β€” Java , Oracle.


%
Oracle74.78
AdoptOpenJDK7.06
IcedTea5.30
Azul2.96
IBM2.37
Amazon2.18
Unknown1.96
Pivotal1.40
SAP0.74
Sun0.58
Debian0.54
Other0.10

Oracle 75% Java. AdoptOpenJDK β€” . ( , , ), , AdoptOpenJDK , .


, NewRelic AdoptOpenJDK, (33,19%) β€” Java 11. Java 11 AdoptOpenJDK , .


. : NewRelic β€” AdoptOpenJDK .



, - , β€” Java . , :


GC%
Parallel57.77
G124.99
CMS17.20
ZGC0.04
Shenandoah<0.01

, Java. , JVM, :


  • CMS , G1 Java 8 (14.56% 12.59%)
  • CMS , Parallel Java 11 (3.96% 0.20%)
  • CMS 35 , ZGC Java 11


Java β€” . β€” ( β€” Xms Xmx). 30 , , , .


XmsXmx%
2048MB2048MB8.84
512MB512MB8.74
1024MB1024MB5.76
4096MB4096MB
1024MB
2.83
2.60
819MB819MB2.59
8192MB8192MB
512MB
2.55
2.40
2340MB2340MB2.19
256MB512MB2.17
64MB256MB
2048MB
3072MB
4096MB
2.11
2.06
2.02
1.77
6144MB6144MB1.61
3072MB3072MB1.55
512MB1024MB1.54
1024MB2048MB1.50
256MB1024MB1.38
492MB492MB1.36
2028MB2028MB
256MB
1.20
1.14
96MB1024MB0.89
10240MB10240MB0.84
256MB256MB0.79
512MB2048MB0.78
120MB256MB0.77
768MB768MB0.63
16384MB16384MB0.63
5120MB5120MB0.63

, , JVM , , .


, , 16GB (.. Xmx >= 16GB) β€” 3.3% .


β€œ ” β€” Xms Xmx, β€” . , 33.48% JVM .


, , , -.


, JVM , , .


,


, , :


  1. 7.35% Java 8 JVM ( β€” MaxPermSize)
  2. 6.78% JVM
  3. 8.07% JVM
  4. 2.54% JVM β€œβ€ , , , Parallel G1
  5. 2.59% JVM 819MB. β€” 8192MB (.. 8GB). β€” .


, , . , , NewRelic. Java , , , .


, , , . , Java (, ) , .


, JVM , , Java .


Java , Java . β€œ ” . , , , , RedMonk’, , .


NewRelic β€” β€” . NewRelic ( ) , NewRelic, , .


, .


All Articles