66 votes

Génération jeune, titulaire et perm

Je suis confondu avec les générations Heap, Young, Tenured et Perm.

Quelqu'un pourrait-il s'il vous plaît expliquer?

75voto

Tendayi Mawushe Points 10335

Le garbage collector Java est appelé un Générationnelle Garbage Collector. Objets dans une application live pour des périodes différentes selon l'endroit où ils sont créés et comment ils sont utilisés. L'idée clé ici est que l'utilisation de différentes stratégies de collecte des ordures pour de courte durée et longue durée de vie des objets permet à l'GC être optimisés spécifiquement pour chaque cas.

Grosso modo comme des objets "survivre", a répété la collecte des poubelles dans la Jeune Génération , ils sont migrés vers le Pensionnaire de Génération. La Génération Permanente est un cas particulier, il contient des objets qui sont nécessaires par la JVM qui ne sont pas nécessairement représentés dans votre programme, par exemple des objets qui représentent des classes et des méthodes.

Depuis la Jeune Génération contiennent généralement beaucoup de déchets dans il est optimisé pour se débarrasser d'un lot d'objets inutilisés à la fois. Le Titulaire de la Génération , car il contient plus vécu des objets est optimisé pour accélérer la collecte des ordures sans perdre beaucoup de mémoire.

Avec des améliorations dans la collecte des ordures de la technologie les détails sont devenus assez complexes et varient en fonction de votre JVM et la façon dont il a été configuré. Vous devriez lire la documentation pour la JVM vous utilisez si vous avez besoin de savoir exactement ce qui se passe.

Cela dit, il est un simple accord historique c'est toujours utile à un niveau conceptuel. Par le passé, la Jeune Génération serait une copie du collecteur et le Permanent de la Génération d' une marque et de balayage collecteur. Une copie du collecteur de paie pratiquement pas de coût de l'UC pour se débarrasser des ordures, pour la plupart, le coût est de maintenir les objets vivants, le prix de cette efficacité est plus lourd l'utilisation de la mémoire. Une marque et de balayage collecteur de paie de l'UC coût direct et et des objets inutilisés, mais utilise plus efficacement la mémoire.

7voto

helios Points 8379

Tous les objets dans le tas survivre ils sont référencés. Quand ils ne sont pas plus, le garbage collector (GC) réclameront leur mémoire.

PermGen, les Jeunes et les Titulaires sont diferent clasifications des objets (ou des espaces dans le tas où ils peuvent être).

PermGen: ces objets seront toujours là, ils ne sont pas des ordures collectées. Les Classes d'objets sont là, interné cordes, etc. Je ne sais pas si il y a un GC, il (lorsque le système de Décharge des classes... mais ce n'est pas une chose normale)

Jeunes: lorsqu'un objet est créé, il est ici.

Titulaire: un objet est mis cette classification/catégorie lorsqu'il survit N GC passe (survivre = GC passe, mais cet objet est référencé donc il ne peut pas être récupérée).

En fonction de la GC et certains paramétrage, GC passe plus ou moins souvent.

Ensuite, la collecte des ordures peuvent avoir des approches différentes pour maange objets dans le tas. Cette classification des objets contribue à le faire.

2voto

simonlord Points 2473

Voici un autre excellent (mais long) article sur comment tune/taille du GC paramètres qui peuvent vous aider à comprendre encore plus:

http://java.sun.com/docs/hotspot/gc5.0/gc_tuning_5.html

Un très utile de lire si vous rencontrez des GC questions et ont besoin de savoir comment lire GC journaux, ou le besoin de comprendre comment votre GC collectionneur d'œuvres.

Si vous voulez brancher la surveillance à distance d'un système en cours d'exécution de voir en temps réel l'utilisation de la mémoire et de la GC s'exécute vérifier cet outil:

http://java.sun.com/performance/jvmstat/visualgc.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X