imagebrowser imageGoogle a annoncé le support de Java pour Google App Engine et la sortie de GWT 1.6 le 7 avril 2009.

Cette annonce a été l’occasion de décortiquer cette nouvelle offre.

La présentation fait le tour des différentes fonctionnalités techniques et tente d’expliquer la vision de Google et les perspectives ouvertes.

Une application de démonstration a été réalisé à l’occasion pour montrer comment tout cela s’ogranise: http://ippongwt.appspot.com/
Les technologies utilisées: Google App Engine 1.2, Google Web Toolkit 1.6 et GXT 2.0.
L’application utilise également la persistance de données JPA pour le stockage des données sur l’infrastructure de Google: BigTable 

Alors que l’on nous a toujours expliqué que Java s’occupait tout seul du nettoyage des objets inutilisés avec son Garbage Collector, tous les développeurs ont un jour, sur l’un de leurs projets, découvert qu’ils pouvaient faire une fuite de mémoire avec comme sentence le fatal : OutOfMemoryException.

Cette erreur est d’autant plus difficile à analyser que les développements ne se font plus de zéro mais sont souvent l’accumulation de différents frameworks le tout étant déployé dans un serveur d’applications.

Heureusement pour nous, des outils existent pour y voir plus clair, Optimize It a été l’un des précurseurs, les plus connus actuellement sont YourKit, JProfiler ou JProb
Ce sont des produits commerciaux de qualité, mais les développeurs n’ont pas toujours la possibilité de les avoir.
Et dans le monde du gratuit ?
Sun propose quelques outils : jmap, jhat et VisualVM
Leur utilisation permet de commencer l’étude, mais une analyse fine ressemble vite à trouver l’aiguille dans une botte de foin, surtout quand la botte dépasse le giga octet.

Lors d’une mission récente où l’un de ces outils pouvait se révéler vite indispensable, une recherche sur le web m’a fait découvrir un nouveau venu dans le monde open source : Memory Analyzer (MAT).