New Relic a récemment publié un nouveau rapport sur l'état de l'écosystème Java à l'aide de données recueillies en janvier 2022 auprès de millions d'applications anonymisées qui ont fourni des données de performances.
Selon le rapport, Java 11 est la nouvelle standard pour l'environnement de production, son adoption étant passée de 11 % en 2020 à 48 % en 2022, devançant Java 8, juste derrière à 46 %. Les autres versions LTS de Java sont très éloignées et leur utilisation ne représente qu'une infime fraction.
L'image ci-dessous montre l'utilisation des versions Java :
En ce qui concerne les versions non LTS, la plus populaire semble être Java 14, suivie de Java 15 et Java 12, mais leur utilisation est inférieure à 1 %. À partir de Java 9, une nouvelle version est disponible avec une cadence de six mois, mais ces versions sont pris en charge jusqu'à la prochaine itération. De nombreux fournisseurs ne fournissent pas de support pour les versions non-LTS après la fin de leur support, ce qui explique probablement pourquoi les versions non-LTS sont moins souvent utilisées.
Un tableau intéressant montre l'adoption de différentes distributions du JDK dans l'écosystème Java. Oracle, a été historiquement le fournisseur le plus populaire, mais son adoption est passée de 75 % en 2020 à 34 % en 2022. Une croissance impressionnante a émergé pour Amazon Corretto qui s'élève à 22 % en 2022, contre environ 3 % en 2020. AdoptOpenJDK était deuxième en 2020 à 7 %, mais en 2021, après avoir été déplacé vers le projet Eclipse Adoptium, a obtenu un pourcentage plus élevé à 11 % en 2022, mais est descendu à la troisième place. Azul Systems a augmenté son adoption à 8 % contre 3 % en 2020.
L'image ci-dessous montre l'utilisation des distributions du JDK :
Les conteneurs sont très populaires avec 70 % des applications exécutées dans un conteneur. Le rapport montre que 60 % des applications exécutées dans un conteneur utilisent deux cœurs ou moins. Cela a du sens puisque les conteneurs sont souvent associés à une architecture de microservices, mais cela peut être préjudiciable puisque le ramasse-miettes G1 par défaut fonctionne mieux avec deux cœurs ou plus.
Le ramasse-miettes G1 est celui par défaut depuis Java 11, son utilisation est donc de 68 % pour les versions Java après 11. Serial GC est toujours à près de 23 % pour Java 11 et les versions ultérieures tandis que d'autres ramasse-miettes récents, tels que ZGC et Shenandoah, sont devenus prêt pour la production récemment, de sorte que leur adoption est encore très faible.
L'image ci-dessous montre l'utilisation de différents ramasse-miettes :
New Relic est une société qui développe l'une des principales plateformes d'observabilité fournissant aux développeurs des métriques, des événements, des journaux et des traces.
La version complète du rapport 2022 est disponible sur le site Web de New Relic.
Les détails de la précédente enquête New Relic, menée et publiée en 2020, peuvent être trouvés dans cette actualité d'InfoQ.