Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Accès rapide :






Vous êtes un professionnel et vous avez besoin d'une formation ?

Optimisations
de code Java


Voir le programme détaillé
ESN Inovelya : Nous recrutons

Evolutions de la JVM :Evolutions du garbage collector


Notes:

Le GC de Hotspot utilise, plus ou moins, les quatre types d'implémentations de GC que nous venons de voir, le tout mixé de manière judicieuse. Nous avons donc à faire à un GC générationnel, incrémental et pour lequel les différents Heap sont générés de manière adaptée, soit via l'algorithme "Mark & Sweep", soit l'algorithme "Stop & Copy".

Le "young space" contient les objets de première génération. Quand l'Eden est plein une phase de "Stop & Copy" est réalisée de l'eden et d'un survivor vers l'autre survivor. L'ancien survivor utilisé devient donc libre (de même que l'eden, du moins normalement) et servira pour la prochaine phase de "Stop & Copy". L'espace virtuel représente l'espace libre que le système d'exploitation peut encore allouer au "young space".

Il en va de même pour le "Tenured Space" (ou "Old Space") et son espace virtuel. Notez que normalement, une valeur indique le ratio, en terme de taille mémoire, entre le "young space" et le "old space". Sinon, le "old space" contient les objets de génération supérieur. Quand un objet a survécu suffisamment longtemps dans le "young space", il est déplacé dans le "old space".

Notez aussi que le "old space" est collecté via un algorithm "Mark & Sweep", dès lors qu'il n'y a plus suffisamment de place dans le "young space". On parle de Full GC.

Diapositive précédente Diapositive suivante
Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation Java
Les compléments
Voir le programme détaillé