BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités Java 14 Est Dans L'étape Gel Des Fonctionnalités Et Mise À L'essai

Java 14 Est Dans L'étape Gel Des Fonctionnalités Et Mise À L'essai

Le processus de publication de Java 14 a commencé. JDK 14 est maintenant dans la phase 1 de Rampdown, ce qui signifie que l'ensemble des fonctionnalités est gelé et qu'aucune autre fonctionnalité ne sera ciblée sur cette version.

Comme d'habitude pour les versions de Java, une liste de JEP (Java Enhancement Proposals) forme le contenu de la nouvelle version. L'ensemble des fonctionnalités finalisées est le suivant :

Deux JEP traitent de l'arrivée du ramasse-miettes ZGC sur des plateformes supplémentaires :

Viennent ensuite plusieurs JEP liés aux fonctionnalités en mode Preview ou Incubating :

Ce groupe de JEP est peut-être plus intéressant qu'il n'apparaisse au départ - il contient en fait deux briques importantes d'un ensemble majeur de nouvelles fonctionnalités pour Java.

La fonctionnalité records apporte essentiellement des tuples nommés à Java et constitue la première moitié de la fonctionnalité appelée types de données algébriques dans d'autres langues. L'autre moitié est la fonctionnalité des types scellés (sealed types), qui est la JEP 360 et n'est encore ciblée pour aucune version.

L'autre élément constitutif d'une future fonctionnalité est la JEP 305 (" Pattern Matching for instanceof "). Cette fonctionnalité semble à première vue très petite, et pour l'instant ne fait que réduire les casts inesthétiques lors de l'utilisation de l'opérateur `instanceof` :

if (obj instanceof String s) {
    // s peut etre utilisé ici
} else {
    // s ne peut pas être utilisé ici
}

Bien que cela semble presque trivial, la véritable puissance de cette fonctionnalité n'arrivera que dans une future version de Java. La fonctionnalité switch expression (qui est également normalisée dans le cadre de Java 14) sera utilisée pour s'appuyer sur la JEP 305 pour produire une correspondance de pattern générale - qui est une nouvelle fonctionnalité majeure, en particulier lorsqu'elle est combinée avec des types de données algébriques.

Enfin, un groupe de JEP qui ne peuvent pas être strictement considérés comme des fonctionnalités, car ils ne traitent que de la dépréciation ou de la suppression de fonctionnalités.

Cela signifie que JDK 14 est une sorte d'étape triste - il marque la fin de Java sur Solaris, qui était la plate-forme où il a fait sa première apparition, en 1995, dans le cadre de la première version publique de la technologie Java.

La suppression du ramasse-miettes CMS est également notable. Pour presque tous les workloads modernes, G1 fonctionne aussi bien ou mieux que CMS (après une longue période de maturation et de stabilisation). Cependant, il reste une petite classe d'applications à faible latence et sensibles à la pause qui ne peuvent ni tolérer les seuils de pause de G1 ni payer les surcoûts sur la performance des ramasse-miettes comme Shenandoah ou ZGC. Aucune solution n'est proposée pour ces charges de travail - en pratique, elles doivent rester sur Java 11 pour être prises en charge à court et à moyen terme.

Dans l'ensemble, Java 14 représente une étape importante dans l'avancée pour la plate-forme, bien que les principales fonctionnalités qu'il contient ne soient publiées qu'en mode Preview. Il est également vrai qu'à ce jour, le marché de Java n'a pas connu une adoption significative des versions non LTS, il reste donc à voir si Java 14 déplacera significativement l'aiguille de l'adoption.

Avec le gel des fonctionnalités et la rampdown de Java 14 en cours, la ligne principale des référentiels de développement Java se tourne maintenant vers Java 15 (qui devrait arriver en septembre 2020).

 

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT