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 […]
novembre
2009
Le JDK 7 « milestone 5″ est disponible au téléchargement, et inclut entre autres certaines des modifications du langage du projet Coin : L’amélioration des valeurs numériques (forme binaire et underscore). Le Switch sur les chaînes de caractères. La syntaxe « en losange » (déjà présente dans les builds précédents). A noter également l’activation par défaut de l’escape-analysis et de la compression des pointeurs, ainsi que de l’intégration de JLayer en standard dans Swing ! Source : JDK […]
novembre
2009
JDBC n’est pas mort : la version 4.0, qui sera intégré dans Mustang (Java SE 6.0), utilisera les Annotations (Metadata) introduite dans Tiger (Java SE 5.0) afin de proposer un mapping Object/Relationnel qui va grandement simplifier l’accès aux bases de données. Cette fonctionnalité est incluse dans les Binary Snapshot du JDK 6.0. Il est donc d’ores et déjà possible de la tester, même avec un driver JDBC 3.0… Je vous propose donc un petit aperçu […]
octobre
2009
Je viens de tomber sur un billet de Remi Forax, qui signale l’activation par défaut de l’escape analysis dans Java 7. Sous ce nom étrange se cache une optimisation de la JVM lui permettant de mieux utiliser la pile (stack) pour stocker les variables locales, ce qui permet normalement de simplifier les allocations/libérations d’objets tout en améliorant les performances… Je n’ai pas encore pu tester cela, mais le billet de Remi Forax indique des performances […]
septembre
2009
Drôle de titre pour un drôle de billet… En fait je suis en train de préparer un nouveau billet sur une technologie bien précise, mais j’ai peur que sa rédaction me prenne un peu trop de temps, et je voulais partager cela avec vous via une petite devinette… Cela concerne la série de boutons (avec leurs états hover et active) que vous pouvez voir sur cette copie d’écran : Avec une double devinette à la […]
Tutoriels
Discussions
- Définition exacte de @Override
- Possibilité d'accéder au type générique en runtime
- Classes, méthodes private
- jre 1.5, tomcat 6.0 et multi processeurs
- [REFLEXION] Connaitre toutes les classes qui implémentent une interface
- L'apparition du mot-clé const est-il prévu dans une version à venir du JDK?
- [ fuite ] memoire
- Difference de performances Unix/Windows d'un programme?
- Recuperation du nom des parametres