Nous avons récemment mis à jour une de nos applications de Java 1.4 à Java 6.La récupération de place passe-t-elle de Java 1.4 à Java 6?
Avec une certaine charge & tests de performance, nous avons constaté que la mémoire disponible est resté en général des niveaux beaucoup plus bas en Java 6 qu'à ce qu'elle était avec Java 1.4. Après un certain profilage sur l'application avec Java 6, nous avons remarqué que de nombreux objets qui ne sont plus référencés par d'autres objets (candidats à la récupération) restaient en mémoire et n'étaient apparemment jamais collectés. Nous avons pris cela comme l'explication de la mémoire disponible inférieure. La question est: est-ce que le comportement de la récupération de place est passé de Java 1.4 à Java 6?
Etes-vous sûr que les objets sont de véritables candidats à la collection? Est-ce qu'ils sont collectés si vous lancez une collecte via JConsole? –
Java 7 est censé avoir encore plus d'optimisations sur le garbage collector. – Steve