Gestion mémoire de la JVM

Fonctionnement de la mémoire JVM

Différents algorithmes de collection

Serial Collector

Le Serial Collector est un algorithme destiné à nettoyer la zone jeune.

Serial Collector

Les différentes étapes sont les suivantes :

Il s'agit de l'algorithme par défaut de collecte pour la zone jeune pour une JVM en mode client.

Mark & Sweep Compact

Le Mark & Sweep Compact est un algorithme destiné à nettoyer la zone vieille.

Mark & Sweep Compact

Les différentes étapes sont les suivantes :

Il s'agit de l'algorithme par défaut de collecte pour la zone vieille pour une JVM en mode client et serveur.

Parallel Collector

Le Parallel Collector est un algorithme destiné à nettoyer la zone jeune, tout comme le Serial Collector.

Parallel Collector

Le Parallel Collector collecte les objets de la même façon que le Serial Collector à la différence qu'il utilise chaque processeur de la machine pour diviser le temps de la tâche de collecte.

Il s'agit de l'algorithme par défaut de collecte pour la zone jeune pour une JVM en mode serveur.

Concurent Mark & Sweep

Le Concurent Mark & Sweep est un algorithme destiné à nettoyer la zone vieille, tout comme le Mark & Sweep Compact.

Concurent Mark & Sweep

Le Mark & Sweep Compact collecte les objets de la même façon que le Mark & Sweep Compact à la différence qu'il utilise chaque processeur de la machine pour diviser le temps de la tâche de collecte.

La grosse différence de cette algorithme se situe au niveau de sa structure de gestion des données. En effet, cet algorithme ne compresse pas les objets après un nettoyage mais stocke les zones mémoires disponibles dans une liste. Lorsqu'un objet doit être ajouté, l'algorithme détermine quel est l'espace disponible le plus adapté et ajoute l'objet.

L'avantage de cet algorithme est qu'il est rapide et donc conseillé pour des applications demandant un temps de réponse rapide et ne pouvant donc pas se permettre de long temps de "Stop-the-World". Les inconvéniants sont un algorithme plus complexe et la taille nécessaire à l'utilisation plus important.