Oracle lance officiellement la version 7 de Java

Plus de 4 ans et demi après l'arrivée de Java 6, Oracle a officiellement publié aujourd'hui la version 7 de Java. Le JDK Java 7 est désormais téléchargeable sur le site de l'éditeur. Selon Oracle Java SE 7 apporte de nombreuses améliorations. La fondation Apache gâceh toutefois un peu la fête en soulignant la présence de plusieurs bug affectant notamment ses projets Lucene et Solr.

Trois semaines après un webcast annonçant l'arrivée imminente de Java 7, Oracle a mis en ligne aujourd'hui la dernière version du JDK de Java SE (Java Platform, Standard Edition 7).  Fruit d'un compromis entre les géants de l'écosystème Java, dont Oracle et IBM, Java est le fruit de plusieurs années de travaux au sein de la communauté OpenJDK.


4 ans et demi depuis la précédente version

Cette nouvelle mouture de l'environnement d'exécution Java n'est peut-être pas aussi ambitieuse que ce que prévoyait Sun à l'origine mais elle s'inscrit dans le cadre des efforts d'Oracle pour redynamiser Java. En décembre 2010, la firme dirigée par Larry Elisson a fait approuver - après de multiples batailles - une nouvelle roadmap pour le langage. Au lieu de livrer Java 7 tardivement mais avec l'ensemble des fonctionnalités initialement prévues par Sun, Oracle a fait approuver par le JCP une roadmap en deux étapes - Java 7 et Java 8 - permettant d'accélérer la livraison de certaines fonctions.

Après plus de quatre ans et demi sans release majeure depuis le JDK 6 (4 ans, sept mois et 17 jours selon Mark Rheinhold, l'architecte en chef de Java chez Oracle), Java 7 est donc censé incarner le renouveau de la plate-forme.


Des améliorations multiples

Selon Oracle, plusieurs améliorations importantes sont à noter avec en premier lieu des améliorations au langage, destinées à accroître la productivité des développeurs, à simplifier certaines opérations de programmations courantes et à améliorer la lisibilité du code (JSR 334: Projet "Coin").
Mais Java 7 apporte surtout un support amélioré des langages dynamiques dont Ruby, Python et Javascript, avec pour objectif de doper les performances d'exécution (JSR 292: InvokeDynamic), ainsi qu'une nouvelle API multi-coeurs censée simplifier la parallèlisation des tâches dans les environnements multi-coeurs (JSR 166: Fork/Join Framework).

Le JDK 7 intègre également une nouvelle interface pour mieux travailler avec les systèmes de fichiers du marché et notamment mieux gérer certains attributs étendus et mieux gérer les erreurs (JSR 203: NIO.2). Oracle note aussi des efforts accrus dans le support de l'internationalisation et notamment le support d'Unicode 6.0.

Java SE 7 poursuit enfin les efforts de modularisation de la plate-forme, des efforts qui ont pour but de permettre le chargement /Déchargement des modules requis en fonction des besoins, ce qui accélère le lancement de l'environnement Java et permet aussi de limiter l'empreinte mémoire sur les PC, Mac ou tablettes des utilisateurs.


Apache gache la fête en identifiant plusieurs bugs

Notons que le lancement de Java 7 est assorti d'une fausse note, émanant de la fondation Apache (qui s'oppose depuis de nombreuses années à la gestion par Sun / Oracle du JCP, l'organisme qui pilote les évolutions de Java). La fondation souligne la présence de plusieurs bugs dans le compilateur JIT HotSpot du JDK d'Oracle Java, qui peuvent causer la production de faux résultats ou le plantage de l'environnement. Selon la fondation, le moteur de recherche Lucene et la plate-forme de recherche d'entreprise Solr sont tous les deux affectés par le bug. Oracle a été averti du bug et devrait le corriger au mieux dans la service release u1 (update 1) et sinon dans la service release u2.

Signalons pour terminer qu'Oracle encourage les développeurs à utiliser les IDE NetBeans7.0 (Oracle), IntelliJIDEA 10.5 (JetBrains) ou Eclipse Indigo pour tirer parti des dernières capacités de Java SE 7. Le géant indique aussi qu'il supportera Java SE 7 dans l'ensemble de ses outils Middleware Oracle Fusion.

Pour approfondir sur Architectures logicielles et SOA