Lyon JUG - Java 7

ven. 22 juillet 2011

Le Lyon JUG (Java User Group) était présenté par Alexis Moussine-Pouchkine, membre d oracle, et Julien Ponge, professeur a l‘INSA. Ce Lyon JUG avait pour but de présenter la nouvelle version de Java : Java 7.

Globalement java 7 est une petite version de java : ajoutant principalement de la cosmétique ayant pour but de faciliter le travail des développeurs et d’améliorer la lisibilité.

Il y a toutefois deux réelles évolutions amené dans le langage.

  • L api filesystem a été refondu pour offrir plus de fonctionnalité et de faciliter. Il sera possible de manipuler directement le filesystem : parcours comme un arbre, copie, surveillance d’événements tels que la modification d un fichier ou son arrive. Toutefois les fonctionnalités avance de cette api ne sont pas 100% portable et ne fonctionneront pas, par exemple, sur Windows.
  • Java 7 offre également une nouvelle api de gestion du multithread : l envoi des threads est alors laissées a l api qui optimise en fonction du nombre de cœur présent. s Dans les évolutions mineures, il y a quelques ajouts sympathiques :

  • Try catch avec ressources : facilite la gestion des ouvertures et fermeture de ressources.

  • Try catch multiple : permet d gérer plusieurs exception dans un seul block catch
  • String utilisable tel quel dans les Switch
  • Lors de l’instanciation d’une Collection, il ne sera plus nécessaire de repréciser le type présent dans la définition. Ex : List a = new List<>() ;

La JVM voit également l’apparition d’un type « InvokeDynamic » (typage dynamique) destiné à faciliter l’exécution des langages dynamiques dans la JVM.

Nous avons également eu quelques infos sur le développement de Java 8. La communauté Java travaille actuellement à intégrer certaines fonctionnalités présentes dans la jvm Rockit : suppression de la zone permgen, nouveau outils de monitoring de la jvm, …

Un projet de modularisation de la JRE est actuellement en cours. L’objectif est de crée une JRE plus lite qui pourra ensuite est compléter par des modules complémentaires (module JDBC, module JMX, …).

De son coté, le JCP est également en cours d’évolution : l’objectif est d’accélérer la structure de décision autour de Java et de son évolution.