En principe lorsque l’on en vient à se poser la question de la taille maximale d’une application Java, c’est que quelque part on a un programme qui est en mesure d’atteindre cette limite. Il y a des discussions sur les forums de SUN
à propos de la JVM et de sa gestion mémoire. Un article intéressant parle de la taille mémoire maximale en Java qu’il est possible d’obtenir lorsqu’une application Java fonctionne (à lire ici).
Si vous devez travailler sur des problèmes de fuite mémoire en Java, il existe plusieurs logiciels comme OptimizeIt et JProfiler. J’ai travaillé avec les deux et je préfere utiliser JProfiler. Celui-ci s’intègre dans Eclipse, JBuilder ou IntelliJ. Il est relativement efficace pour remonter la pile d’allocation et déterminer les élements qui sont trop alloués ou sous-utilisé. Le site de l’éditeur ej-technologies vous permettra de télécharger une version d’évaluation. Une licence coûte 410 Euros pour un développeur. C’est un bon outil et qui m’a permit de trouver et résoudre rapidement des problèmes d’allocation mémoire dans une application multi-threadée. Un jour j’écrirai quelque chose à propos de java.lang.String et des allocations catastrophiques dont certains se servent dans leur code…