Keadaan dunia Jawa saat ini: tren dan fakta untuk salah satu bahasa pemrograman paling populer

Dari seorang penerjemah : terlepas dari sifat periklanan yang agak artikel ini, penulis memberikan beberapa statistik yang cukup menarik tentang keadaan ekosistem Java saat ini. Kami berharap bahwa statistik ini akan bermanfaat bagi pembaca.


Versi artikel ini sebelumnya juga diterbitkan di The New Stack .


Industri perangkat lunak modern sangat luas, sehingga tidak ada kekurangan pilihan bahasa pemrograman. Tetapi bahkan dalam tumpukan teknologi yang sama, seperti ekosistem Jawa, bisa sangat sulit untuk menarik wawasan berguna tentang kondisi pasar. Jawa luar biasa sukses dan hadir di hampir setiap industri besar dan sektor ekonomi, dan ini, sebagiannya, yang membuat sulit untuk menemukan satu sudut pandang tentang keadaan dunia Jawa saat ini.


Tetapi ini tidak berarti bahwa seseorang tidak dapat secara kasar menilai keadaan bola ini.


Setiap hari, puluhan juta Java Virtual Machines (JVMs) mentransfer data mereka ke New Relic. Untuk membuat laporan ini, kami menganonimkan dan dengan sengaja mengurangi rincian data ini untuk memberikan pandangan luas tentang ekosistem Jawa, seperti yang kita lihat. Kami juga tidak memasukkan informasi yang sangat rinci dalam laporan yang dapat membantu peretas dan penyerang lainnya dalam serangan mereka.


Kami berharap bahwa pengamatan ini akan memberikan beberapa informasi kontekstual baru dan menyediakan makanan untuk dipikirkan tentang keadaan ekosistem Jawa saat ini. Dengan pemikiran ini, kami melihat pertanyaan-pertanyaan berikut:


  • Versi Java apa yang digunakan untuk penggunaan komersial?
  • Vendor Java mana yang paling populer?
  • Apa algoritma pengumpulan sampah yang paling umum digunakan?
  • Apa pengaturan memori yang paling umum?

Java 8 masih standar. Masih standar


, 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