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…
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é […]
décembre
2009
Originellement prévu pour février, Java 7 est reporté à septembre 2010. Bien que cela ne soit pas la cause du report (le JDK 7 milestone 5 qui aurait dû être une version « feature-complete »), il semblerait que les Closures fassent leur grand retour. Après de multiples débat et plusieurs propositions,et après avoir été abandonnés et reporté à plus tard, elles sont bel et bien de nouveaux d’actualités pour Java 7 ! Peu d’info pour le moment […]
décembre
2009
Tel est la question que l’on peut se poser après l’annonce surprise de l’intégration des closures dans Java 7. // function expressions #(int i, String s) { System.println.out(s); return i + str.length(); } // function expressions #(int i, String s) (i + str.length()) // function types #int(int, String) Stephen Colebourne a fait un résumé des fonctionnalités des différentes propositions de closures, […]
décembre
2009
C’est fait, le projet Lambda est né de la volonté d’intégrer un système de closures, que l’on nommera désormais « expressions lambda ». On y retrouve donc une liste de diffusion mais surtout un prémice de la proposition : Project Lambda : Straw-Man Proposal. On y retrouve bien sûr le détail des fonctionnalités de base dont j’ai déjà parlé plusieurs fois sur ce blog : les expressions Lambda, les types Fonction et les règles de conversion vers […]
Tutoriels
Discussions
- L'apparition du mot-clé const est-il prévu dans une version à venir du JDK?
- jre 1.5, tomcat 6.0 et multi processeurs
- Difference de performances Unix/Windows d'un programme?
- Définition exacte de @Override
- [ fuite ] memoire
- Possibilité d'accéder au type générique en runtime
- Classes, méthodes private
- Recuperation du nom des parametres
- [REFLEXION] Connaitre toutes les classes qui implémentent une interface