septembre
2010
On se dirige donc vers un JDK7 « amoindri » qui sortirait mi-2011, suivi par un JDK8 un an plus tard. En effet Oracle a mis à jour la page des fonctionnalités prévus pour le JDK7, et il semblerait bien que le « plan B » ait été adopté. On a donc la confirmation des principales nouveautés de Java 7 : Le support des langages dynamiques via la JSR 292 (InvokeDynamic). L’évolution du langage via le projet Coin, qui […]
septembre
2010
Mark Reinhold, qui dirige les travaux sur la plateforme Java chez Oracle, vient de publier sur son blog personnel un billet intéressant quand à la prochaine version de Java : Re-thinking JDK 7. Comme on s’en doutait un peu, suite au rachat de Sun par Oracle et à l’ajout de nouveaux projets (Lambda, Jigsaw et Coin), le planning originel n’a pas été respecté (Le JDK7 aurait dû sortir demain !) alors que la version actuellement […]
août
2010
Après le multi-catch/rethrow et depuis la version b105, les derniers builds du JDK 7 intègrent désormais le support des try-with-resources (bloc ARM), ce qui permettra enfin de pouvoir gérer proprement la fermeture des ressources de manière simple et efficace. Voilà enfin une syntaxe claire et précise pour libérer les ressources proprement et sans erreur…
juin
2010
Java se distingue des autres langages par sa gestion des exceptions qui introduit la notion de checked-exception, c’est à dire qu’il gère des exceptions vérifiées dès la phase de compilation, en forçant les développeurs à les gérer. En clair, le compilateur analyse le code et génère des erreurs dans le cas où les exceptions ne sont ni traitées (via des try/catch) ni déclarées dans la signature de la méthode (via throws). L’objectif original de tout […]
février
2010
En testant le dernier build du JDK7, j’ai découvert totalement par hasard que la classe JList était désormais paramétrée en JList<E>, comme on peut le voir dans sa javadoc temporaire. Son modèle de données ListModel a logiquement subit la même évolution. A ma connaissance c’est la première classe de l’API Swing à intégrer les Generics en standard. A noter toutefois qu’ils sont également déjà présent dans la nouvelle classe JLayer<V>, qui apparaitra également avec Java […]
février
2010
En jettant un oeil aux nouveautées du JDK7, j’étais tombé sur la classe java.util.Objects qui proposait quelques méthodes utilitaires concernant les opérations de base des objets. On y retrouve surtout des méthodes permettant de gérer les valeurs null. A première vue il n’y a rien d’extraordinaire là dedans, et je dois dire que je ne m’y étais pas vraiment attardé… Mais aujourd’hui je suis tombé sur un billet de Joe Darcy présentant ces méthodes un […]
décembre
2009
Mark Reinhold a publié au nom de Sun la première publication d’une proposition sur les expressions lambda. Mais elle se révèle pour le moment relativement succincte et s’apparente plus à une présentation sommaire des possibilités que cela offrirait qu’à une réelle proposition détaillée et précise comme cela pouvait être le cas des précédentes propositions (CICE, FCM ou BGGA). Mais le gros problème vient du fait qu’elle ne semble pas faire l’unanimité ! En fait cette […]
décembre
2009
Lorsque j’ai commencé à écrire la série de billet « Où va Java ? » conçernant Java 7, j’avais en tête de faire un billet récapitulant les différentes propositions de Closures et leurs spécificités. Malheureusement le temps m’a manqué et je n’ai jamais pu finir ce billet… Pour rappel, une closures représente un « bloc de code », qui peut être manipuler comme un objet. A l’heure actuelle l’utilisation de classe anonyme est ce qui s’en rapproche le plus […]
décembre
2009
Les Closures style BGGA sont extrêmement complète, mais apporte également leurs lots de complexité. De ce point de vue là, la proposition CICE prend le problème à contre pied et propose une implémentation la plus simple possible. D’ailleurs la documentation donne le ton dès le début, en titrant « Closures without Complexity« …
décembre
2009
Après BGGA et CICE, voici une présentation de la proposition de closures FCM qui se place exactement entre les deux précédentes : à la fois plus simple que BGGA mais également plus complète que CICE. FCM se présente comme un compromis entre les deux, en proposant une approche plus simple sans pour autant trop perdre de possibilités. De plus, tout comme « BGGA« , la proposition « FCM » propose également un prototype sur lequel je me suis basé […]
Tutoriels
Discussions
- [REFLEXION] Connaitre toutes les classes qui implémentent une interface
- jre 1.5, tomcat 6.0 et multi processeurs
- Définition exacte de @Override
- Recuperation du nom des parametres
- L'apparition du mot-clé const est-il prévu dans une version à venir du JDK?
- Classes, méthodes private
- Difference de performances Unix/Windows d'un programme?
- Possibilité d'accéder au type générique en runtime
- [ fuite ] memoire