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
Décidément sur tous les fronts, Google vient de présenter un de ses nouveaux projets : Noop, un nouveau langage expérimental basé sur la JVM. Avec un objectif des plus nobles (mais sur lequel beaucoup se sont cassé les dents) : prendre le meilleur des autres langages pour concevoir un langage qui encouragerait l’utilisation des bonnes pratiques de codage, en mettant en avant la lisibilité du code… Basé sur le langage Java, Noop se distinguera en […]
septembre
2009
Je continue à parcourir la documentation des premiers builds de Java 7, et je viens de voir que la classe ProcessBuilder a subit quelques petits ajustements qui s’avèreront surement très utile ! Lorsqu’on tente d’appeler un programme externe depuis une application Java, on se retrouve vite confronté à un problème un peu particulier : les entrée/sorties du processus sont liée par un buffer à l’application Java qui l’a créé, et ces données doivent être traitées […]
août
2009
La syntaxe du langage Java vient de recevoir sa toute première modification depuis Java 5. En effet le développement de Java 7 vient d’enrichir ce dernier de la syntaxe « diamond », que l’on appellera sûrement « syntaxe en losange » en français. Alors quoi de neuf ? Il s’agit simplement d’un sucre syntaxique évitant la duplication du paramétrages des Generics lorsque le contexte le permet (c’est à dire lorsque le compilateur peut le déduire du reste du code).
août
2009
Je viens de tomber sur un article assez intéressant concernant les problèmes liés à la mémoire en Java, et plus particulièrement dans les applications serveurs (là où elles se font le plus ressentir). L’auteur les répertorie en quatre grandes catégories : Les memory leaks qui surviennent lorsqu’on conserve inutilement des références vers des objets que l’on n’utilise plus (comme lorsqu’on abuse du scope « session » par exemple). L’utilisation abusive de mémoire, causée par des implémentations qui […]
Tutoriels
Discussions
- Possibilité d'accéder au type générique en runtime
- Classes, méthodes private
- Difference de performances Unix/Windows d'un programme?
- L'apparition du mot-clé const est-il prévu dans une version à venir du JDK?
- [REFLEXION] Connaitre toutes les classes qui implémentent une interface
- Définition exacte de @Override
- [ fuite ] memoire
- jre 1.5, tomcat 6.0 et multi processeurs
- Recuperation du nom des parametres