Lors d’une présentation organisée le 21 mars, Oracle a annoncé qu’à l’avenir, le développement du langage de programmation Java mettrait l'accent sur la prise en charge des plates-formes IT modernes, y compris les GPU et les conteneurs. En particulier, l’éditeur veut que Java offre un support solide pour les GPU et l'accélération matérielle, indispensables pour les charges d'apprentissage machine et d'intelligence artificielle.

L'équipe d'Oracle chargée du développement de Java SE (Standard Edition) veut configurer Java de manière à ce que la JVM comprenne quelles charges de travail doivent être exécutées par le GPU et quelles charges de travail doivent être exécutées par le CPU. Les GPU, même s’ils ont été initialement conçus pour le traitement d'images, sont de plus en plus utilisés pour les applications de calcul, l'apprentissage machine et même les bases de données.

Démarrage plus rapide 

Selon Oracle, la JVM a également besoin de comprendre les contraintes de ressources imposées par les conteneurs. Parmi les optimisations axées sur les conteneurs, l’éditeur a cité l'amélioration des performances ainsi que des démarrages à froid et à chaud plus rapides. Les objectifs de ce développement Java sont notamment de :

- Rendre Java aussi léger que possible pour réduire son empreinte et exécuter des charges de travail en consommant le minimum de ressources et à moindre coût.

- Permettre une mise à l’échelle des données big data pouvant atteindre l’ordre du pétaoctet.

- Offrir une prévisibilité à l'échelle.

- Accroitre la densité des données afin de permettre une présentation aussi concise que possible de ces données dans la JVM.

- 0ffrir un accès natif, avec la possibilité d’utiliser des bibliothèques dans des domaines comme l'intelligence artificielle et l'apprentissage machine.

- Faciliter et rendre plus efficace l'entrée et la sortie des données de la JVM.

- Accroitre la productivité des développeurs et favoriser l’amélioration permanente du langage.

Accéder au x API non-Java

L’éditeur a également insisté sur un certain nombre de projets Java innovants, comme le projet Valhalla, un projet d'incubateur initié pour développer des fonctionnalités pour machine virtuelle et le langage Java, ou encore les projets Panama, pour l'accès aux API non-Java, et Loom, pour faciliter le traitement simultané des applications. Oracle a également signalé la suppression progressive de la capacité de finalisation de Java, pour le nettoyage post-mortem sur les objets hors d’atteinte du ramasse-miettes. La finalisation a rendu la collecte des ordures plus coûteuse, le ramasseur devant effectuer un passage supplémentaire. « Il existe désormais de meilleures solutions pour effectuer cette tâche, comme le sous-système java.lang.ref », a déclaré Oracle.

Oracle vient juste de livrer Java Development Kit 12 (JDK 12), dans lequel on trouve un aperçu des expressions de commutation pour simplifier le codage. Le JDK 12 est également doté d'une fonction de collecte mixte pour l'optimiseur de mémoire G1 qu’il est possible d’interrompre. Les caractéristiques du JDK 13, attendu pour septembre, n’ont pas encore été précisées, mais certains pensent qu'on trouvera dans la future édition des chaînes de caractères brutes et une version de production des expressions de commutation.