Vos recrutements informatiques

700 000 développeurs, chefs de projets, ingénieurs, informaticiens...

Contactez notre équipe spécialiste en recrutement

Oracle présente de nouvelles fonctionnalités de Java 9
Et fixe les bases pour implémenter la modularité

Le , par Hinault Romaric, Responsable .NET
Oracle a dévoilé de nouvelles fonctionnalités qui seront intégrées à Java 9, la prochaine version majeure de la plateforme de développement, qui sera disponible en 2016.

Java 9 introduira via la JEP 158 (Unified JVM Logging), un système d’enregistrement commun pour tous les composants de la JVM. Cela permettra une refonte complète de la façon dont Java signale les événements dans les sous-systèmes.

Plus de contrôle au niveau de la compilation sera offert par cette version (JEP 165 - More compiler controls). Cette amélioration permettra aux développeurs de changer les options de compilation du compilateur JIT Hotspot afin de pouvoir effectuer des optimisations spécifiques.

Avec la JEP 214 (Remove GC Combinations Deprecated in JDK 8), trois fonctionnalités du garbage collection (ramasse-miettes) seront supprimées. Il s’agit de DefNew + CMS, ParNew + SerialOld et Incremental CMS. Ces fonctionnalités étaient déjà obsolètes dans Java 8.

Quelques petits changements seront apportés au projet Coin (JEP 213), qui avait été introduit dans Java 7. Pour rappel, le projet Coin apporte quelques changements linguistiques à Java.

En plus de ces fonctionnalités, Oracle a l’intention de finaliser avec le projet « Resolve Lint and Doclint Warnings » pour le nettoyage des avertissements, qui avait débuté il y a plusieurs années. Java 9 offrira également un support de Datagram Transport Layer Security, et des sorties HTML5 pour Javadoc. De nombreuses corrections seront également apportées pour améliorer la gestion des importations, et les classes dépréciées ne vont plus générer des alertes.

À ces spécifications, s’ajoutent d’autres JEP qui ont été présentées en aout dernier, qui permettent de doter le langage de programmation d’une nouvelle « API lightweight JSON » pour la production et la consommation de documents JSON, de « HTTP2 Client » pour le support du HTTP 2.0 et des web sockets et de « Process API Updates » qui permet d’améliorer le contrôle, la gestion et l’interaction avec les processus non Java.

Bien que le projet Jigsaw ne soit pas encore intégré au projet, Oracle a réaffirmé son engagement d’offrir la modularité dans Java 9. Les ingénieurs d’Oracle ont fixé les bases pour une mise en œuvre structurée du projet Jigsaw à travers la JEP 152, JEP 201 et JEP 220. Jigsaw représente une nouveauté très attendue. Mais, son développement fait face à plusieurs défis qui doivent être relevés avant son intégration.

Jigsaw apportera des gros changements au JDK. Il permettra de découper la bibliothèque d’exécution de base de Java en différents modules. Ainsi, une machine virtuelle Java (JVM) pourra fonctionner sans le support de certains packages de base.

Mark Reinhold, architecte en chef du groupe de la plateforme Java chez Oracle, a fait savoir qu’avec Jigsaw, le format JAR n’avait plus sa place dans le système d’exécution de Java. « Le format JAR a fait son temps, c'est le moment de passer à autre chose », avait affirmé celui-ci.

Une annonce qui n’a pas manqué de créer une certaine frayeur chez les développeurs. Mais, Oracle rassure. Bien que le système d’exécution de Java reposera sur les modules et non les fichiers jar, la plateforme continuera à prendre en charge et à exécuter les applications empaquetées dans les fichiers Jar. Avec le temps, les développeurs devront, cependant, migrer vers les nouveaux formats modulaires.

Le passage à un système de module aura également un impact important sur les outils de développement et les Framework.

À titre de rappel, les JEP sont les nouveaux processus permettant le développement et le test de fonctionnalités relatives au langage Java ou à sa machine virtuelle, sans recourir au processus complet de spécification (JSR). Par la suite, toute JEP qui a été implémentée avec succès sera intégrée à Java sous la forme de mise à jour ou de nouvelle version.

Source : Oracle

Et vous ?

Quelle fonctionnalité attendez-vous le plus dans Java 9 ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Traroth2 Traroth2 - Expert éminent http://www.developpez.com
le 20/11/2014 à 14:30
Java au niveau des clients lourds comme mobiles étant en voie de disparition rapide, je ne suis pas sûr que Jigsaw soit toujours aussi attendu, en fait. Parce qu'au niveau serveur, les bénéfices concrets sont quand même minces. Démarrage plus rapide du serveur et occupation mémoire plus réduite, en gros. Au prix de la barrette de RAM...
Avatar de Blaspheme Blaspheme - Candidat au Club http://www.developpez.com
le 20/11/2014 à 14:49
Salut Traroth2,
je lis ton commentaire "Java au niveau des clients lourds comme mobiles étant en voie de disparition rapide" et du coup m'interroge sur ce qui te fait dire ça?
As-tu senti un changement de ce coté là?
Avatar de Nico02 Nico02 - Membre expérimenté http://www.developpez.com
le 20/11/2014 à 15:01
Citation Envoyé par Traroth2  Voir le message
Java au niveau des clients lourds comme mobiles étant en voie de disparition rapide, je ne suis pas sûr que Jigsaw soit toujours aussi attendu, en fait. Parce qu'au niveau serveur, les bénéfices concrets sont quand même minces. Démarrage plus rapide du serveur et occupation mémoire plus réduite, en gros. Au prix de la barrette de RAM...

Mouai m'enfin bon il faut pas non plus oublier tout ce qui est système embarqué qui eux seront ravis de ne pas avoir à charger toutes ces bibliothèques inutiles.

Et puis dire que Java est en voie de disparition des clients lourds/mobile

Autant les projets Web on effectivement le vent en poupe par rapport au client lourd (et pas que pour Java) autant le mobile je suis pas du tout convaincu..
Avatar de Traroth2 Traroth2 - Expert éminent http://www.developpez.com
le 20/11/2014 à 15:33
Citation Envoyé par Blaspheme  Voir le message
Salut Traroth2,
je lis ton commentaire "Java au niveau des clients lourds comme mobiles étant en voie de disparition rapide" et du coup m'interroge sur ce qui te fait dire ça?
As-tu senti un changement de ce coté là?

Concernant le mobile, il y a 10 ans, un truc comme 95% des téléphones mobiles étaient compatibles avec Java ME. Et aujourd'hui, on est bien plus proche de 0%, surtout depuis la fin des Blackberry pré-10 (ni iOS, ni Android, ni WP ne proposent d'environnement Java ME). Pour les clients lourds, le principe même de client lourd est en perte de vitesse par rapport aux clients légers type HTML5+Javascript, mais de toutes manières, ça a toujours été la partie faible de Java. Et certains signes ne trompent pas : la plupart des navigateurs bloquent désormais les applets par défaut, et JavaFX n'a clairement pas le succès escompté. Ca laisse quoi ? Les liseuses (pas les tablettes) Kindle et les lecteurs de Blu-Ray ?
Avatar de akecoocoo akecoocoo - Membre habitué http://www.developpez.com
le 20/11/2014 à 16:04
Euh, les apps sous Android, c'est pas en Java ?!?
Avatar de Washmid Washmid - Membre actif http://www.developpez.com
le 20/11/2014 à 16:16
Java, oui, Java ME, non

Plus précisément sous android c'est du Java SE :
- avec une machine virtuelle et un bytecode différents
- une grosse partie des API Java SE, sans tout ce qui est AWT / Swing en gros
Avatar de Traroth2 Traroth2 - Expert éminent http://www.developpez.com
le 20/11/2014 à 16:33
Citation Envoyé par akecoocoo  Voir le message
Euh, les apps sous Android, c'est pas en Java ?!?

Ca dépend ce que tu entends par Java. On développe en langage Java avec des API ressemblant à 80% à celles de Java SE (pas la partie IHM, ni sécurité, ni multithreading, en particulier), mais la plateforme d'exécution n'a que peu de rapport avec une JVM. Je pense qu'Android n'est pas du tout concerné par Jigsaw...

Quant à la relation avec Java ME, la seule chose qu'Android en a reprise, c'est les API OpenGL ES.
Avatar de 23JFK 23JFK - Membre éclairé http://www.developpez.com
le 20/11/2014 à 17:53
...
Mark Reinhold, architecte en chef du groupe de la plateforme Java chez Oracle, a fait savoir qu’avec Jigsaw, le format JAR n’avait plus sa place dans le système d’exécution de Java. « Le format JAR a fait son temps, il est temps de passer à autre », avait affirmé celui-ci.
...

Avec des affirmations comme celle-ci, il ne va pas rester architecte en chef bien longtemps celui-là.
Avatar de adiGuba adiGuba - Expert éminent sénior http://www.developpez.com
le 20/11/2014 à 18:15
Citation Envoyé par akecoocoo  Voir le message
Euh, les apps sous Android, c'est pas en Java ?!?

Le code source est écrit en Java, mais ce n'est pas compilé en bytecode Java ni exécuté par un JVM.

Google a créé son propre bytecode et sa propre machine virtuelle (Dalvik).

Citation Envoyé par 23JFK  Voir le message
Avec des affirmations comme celle-ci, il ne va pas rester architecte en chef bien longtemps celui-là.

Pourquoi ?

a++
Avatar de tchize_ tchize_ - Expert éminent sénior http://www.developpez.com
le 20/11/2014 à 20:13
Citation Envoyé par Traroth2  Voir le message
Parce qu'au niveau serveur, les bénéfices concrets sont quand même minces. Démarrage plus rapide du serveur et occupation mémoire plus réduite, en gros. Au prix de la barrette de RAM...

Démarrage plus rapide des serveurs => Extrèmement intéressant si tu travail avec des noeuds à la demande. Quand ta charge augmente, entre attendre 30 secondes le démarrage de la jvm et attendre 15 secondes, c'est la différence entre un engorgement temporaire et un effet de cascade qui va tuer tes clients.

Modulariser java pour réduire son emprunte mémoire est important aussi sur un serveur lancant beaucoup de jvm. Ca permettra, en ce qui me concerne, d'utiliser plus souvent java pour du scripting là où pour le moment on lance du python ou du php parce qu'on ne peut pas se permette de de lancer simultanément 20 ou 40 jvm qui consomment chacune 64Mb ou d'attendre 5 secondes d'initialisation pour calculer 2 secondes. Et réduire le nombre de langages à maitriser dans une équipe, c'est aussi augmenter son expertise...

La barette de RAM est pas chère, c'est vrai. Mais sur un serveur, la différence entre 8 16 ou 32 slots pour mettre ta mémoire, c'est très coûteux.
Offres d'emploi IT
Expert sécurité en audit d'applications (H/F)
Société Générale - Ile de France - Val-de-Marne
Développeur - software craftsman (H/F)
Société Générale - Ile de France - Hauts-de-Seine
Technical leader / moe perle (H/F)
Société Générale - Ile de France - Val de Marne

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil