Afin de mieux comprendre Java et son rôle dans l’écosystème plus large du développement logiciel, New Relic a publié un rapport basé sur des données recueillies auprès de millions d’applications.

Au cours des deux dernières années, les développeurs de logiciels ont transféré une grande partie de leurs applications vers Java 11, démontrant ainsi l’utilité et l’attrait d’une version Java LTS (Long Term Support).

Alors que la grande majorité des applications fonctionnaient sous Java 8 (84,48 %) en mars 2020, près de la moitié (48 %) des applications utilisent désormais Java 11 en production, contre 46,5 % des applications sous Java 8.

En comparaison, Java 17 n’a pas encore acquis une position significative, mais sa popularité augmente rapidement et il devrait s’emparer de la première place d’ici un an, note New Relic, le spécialiste de l’observabilité.

À partir de Java 9, le modèle de publication de la plate-forme a changé. Tous les six mois, une nouvelle version était disponible, mais ces versions n’étaient prises en charge que jusqu’à la version suivante. L’intention était de rendre les nouvelles fonctionnalités disponibles plus souvent.

Cependant, l’adoption des versions Java provisoires, non LTS, reste extrêmement faible par rapport aux versions LTS en production, avec seulement 2,7 % des applications utilisant des versions Java non LTS. Parmi les versions de Java non LTS utilisées, Java 14 est la plus populaire, Java 10 et Java 16 sont à égalité pour les moins populaires.

Des changements importants dans la source des distributions du JDK ont été constatés ces dernières années. Alors que de nombreux développeurs avaient l’habitude d’obtenir leur JDK auprès d’Oracle, l’open-sourcing de Java a donné lieu à une multitude d’options.

En 2020, Oracle était le fournisseur le plus populaire, avec environ 75 % du marché Java. Mais Amazon a fortement progressé pour atteindre 22 % du marché (contre 2,18 % en 2020).

La conteneurisation des applications est devenue extrêmement courante, et les données sur les applications Java de New Relic confirment cette tendance : plus de 70 % des applications Java déclarées à New Relic le font à partir d’un conteneur.

Les données de New Relic montrent aussi un pourcentage beaucoup plus élevé d’applications fonctionnant avec moins de quatre cœurs lorsqu’elles sont dans des conteneurs.

Les données de New Relic montrent aussi que seulement 80 % environ des applications conteneurisées demandent explicitement une limite supérieure sur la mémoire de la JVM par le biais des drapeaux -Xmx ou -XX:MaxRAMPercentage.