Der aktuelle Stand der Java-Welt: Trends und Fakten fĂŒr eine der beliebtesten Programmiersprachen

Von einem Übersetzer : Trotz des etwas werblichen Charakters dieses Artikels gibt der Autor einige ziemlich interessante Statistiken ĂŒber den aktuellen Zustand des Java-Ökosystems. Wir hoffen, dass diese Statistiken fĂŒr die Leser nĂŒtzlich sind.


Eine Version dieses Artikels wurde bereits auf The New Stack veröffentlicht .


Die moderne Softwareindustrie ist unglaublich groß, so dass es nicht an Programmiersprachen mangelt. Aber selbst innerhalb desselben Technologie-Stacks wie dem Java-Ökosystem kann es schwierig sein, nĂŒtzliche Erkenntnisse ĂŒber die Marktbedingungen zu gewinnen. Java ist unglaublich erfolgreich und in fast allen wichtigen Industrie- und Wirtschaftssektoren prĂ€sent, und dies macht es teilweise schwierig, einen einzigen Standpunkt zum aktuellen Zustand der Java-Welt zu finden.


Dies bedeutet jedoch nicht, dass man nicht versuchen kann, den Zustand dieser SphÀre grob einzuschÀtzen.


TĂ€glich ĂŒbertragen Millionen von Java Virtual Machines (JVMs) ihre Daten an New Relic. Um diesen Bericht zu erstellen, haben wir die GranularitĂ€t dieser Daten anonymisiert und absichtlich reduziert, um einen umfassenden Überblick ĂŒber das Java-Ökosystem zu erhalten, wie wir es sehen. Wir haben auch keine sehr detaillierten Informationen in den Bericht aufgenommen, die Hackern und anderen Angreifern bei ihren Angriffen helfen könnten.


Wir hoffen, dass diese Beobachtungen einige neue Kontextinformationen liefern und Anlass zum Nachdenken ĂŒber den aktuellen Zustand des Java-Ökosystems geben. In diesem Sinne haben wir uns folgende Fragen angesehen:


  • Welche Java-Versionen werden im kommerziellen Einsatz verwendet?
  • Welche Java-Anbieter sind am beliebtesten?
  • Was ist der am hĂ€ufigsten verwendete Garbage Collection-Algorithmus?
  • Was sind die hĂ€ufigsten Speichereinstellungen?

Java 8 ist immer noch Standard. Immer noch 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