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).
. . . → Lire la suite: Memory Analyzer (MAT) : pistons les fuites mémoire