Mis à part la version 8 de Java SE (Standard Edition) dont la sortie est programmée pour l'année prochaine, Oracle a dressé la liste de ce qu'il souhaite faire pour Java à long terme. L'éditeur envisage notamment d'améliorer les fonctionnalités objet, de faciliter l'utilisation de Java dans le cloud computing, plus d'autres optimisations avancées.

Selon les diapositives de la présentation de Simon Ritter, évangéliste Java chez Oracle, intitulée « Au-delà de Java SE 8 » qu'Oracle a mise en ligne sur le site de la conférence QCon 2012 à Londres, à partir de la version 10 du JDK (Java Development Kit), le système devrait être unifié, tout sera fait sous forme d'objets, et les primitives auront disparu. La liste des projets établie par Oracle pour Java est ambitieuse. Il semble que celle-ci a été dévoilée la semaine dernière par Simon Ritter, Technology Evangeliste d'Oracle. Dans une diapositive intitulée « Java SE 9 (et au-delà) », il est fait mention d'interopérabilité, de machine virtuelle Java JVM multilangage et de meilleure intégration Java en mode natif.  Ces dernières années, d'autres langages que Java, comme JRuby, Scala, et Groovy, ont acquis une certaine popularité sur la JVM. La présentation comporte même un calendrier de sortie. On peut voir que JDK 9 est prévu en 2015, JDK 10 en 2017, JDK 11 en 2019, et JDK 12 en 2021. Celle-ci affirme aussi dans un slogan que « Java n'est pas le nouveau Cobol. »

Une JVM pour hyperviseur

Parmi les améliorations en terme d'usage, la présentation mentionne une fonction d'auto-optimisation de la JVM et des améliorations dans le langage lui-même. Parmi les optimisations avancées, on remarque un système de type unifié et des optimisations dans les structures de données. Dans la diapositive sous-titrée, « Fonctionne partout et avec tout », Oracle énumère comme objectifs, aussi bien l'adaptation aux systèmes embarqués et que les très gros serveurs, plus le support des modèles de calcul hétérogènes. Pour les environnements cloud, on note, à partir du JDK 9, le développement d'une machine virtuelle Java capable de travailler avec un hyperviseur, et le partage coopératif des ressources mémoire.  Dans les objectifs multi-tenant mentionnés pour le JDK 8 et au-delà figurent un meilleur partage entre machines virtuelles au sein d'un même système d'exploitation, le suivi des ressources et la gestion des données par thread et par classe Threadgroup.

En ce qui concerne JDK 9, les améliorations portent sur le support de plus grandes quantités de données, le 64-bit et le large-array backing. À partir du JDK 10, Oracle annonce de vrais génériques, des fonctions « type », et des optimisations de la structure des données, plus des rangées multidimensionnelles. Les modèles de calcul hétérogènes, prévus pour le JKD 9 et au-delà, comprennent le support du langage Java pour les GPU (Graphics Processing Unit), le FPGA (field programmable gate array), les moteurs de déchargement, et le PL/SQL distant.

Dans la présentation d'Oracle, est également fait mention d'un « développement ouvert », où le prototypage, la recherche et le développement se feraient dans OpenJDK, c'est-à-dire l'implémentation libre du standard Java SE. Enfin, l'éditeur appelle à élargir toujours plus la communauté Java et la coopération avec les partenaires et les milieux universitaires.