Quand un Full GC déclenché

Selon ma compréhension,

Minor GC

un GC qui se passe dans la jeune génération est généralement appelé Mineur, car il faut moins de temps pour que le vivre-ensemble sont généralement de petite taille (je parle typique d'une application java compte tenu de la faiblesse de l'hypothèse générationnelle) et une copie du collecteur avec moins de nombre d'objets à déménager et à reconfigurer.

Majeur GC

un GC qui se produit dans l'ancienne gen est généralement appelé le Grands GC car il faut plus temps de terminer au vivre-ensemble sera le plus souvent de gros (par rapport aux jeunes gen) et il est généralement compacte la old gen et le temps pour le compactage augmente linéairement avec l'ancienne génération de la taille.

Malheureusement, le GC journaux rapport à l'ancienne génération collection Complète GC alors que sa seule l'Ancienne génération qui ont été recueillis. Mais en java, gestion de la mémoire livre blanc il y a une notion de Plein GC dans laquelle l'ensemble du tas est recueillie.

A Full GC will be triggered whenever the heap fills up. In such a case the 
young generation is collected first followed by the old generation. If the 
old generation is too full to accept the content of the young generation,
the young generation GC is omitted and the old generation GC is used to 
collect the full heap, either in parallel or serial. Either way the whole 
heap is collected with a stop-the-world event.

Si il y a toujours un Mineur GC, le jeune gen se remplit et si il y a toujours l'un des Principaux GC, sur l'ancienne gen se remplit, quand ce soi-disant Plein GC arriver ? Comment se fait le tas devient complet si les deux jeunes gen et old gen collectionneurs font leur part ?

Merci pour votre temps 🙂

pouvez-vous nous éclairer sur ce point ? 🙂
Les gars.. je n'ai pas l'esprit des gens en bas à droit de vote de ma question, mais au moins mentionner la raison de le faire 🙂

OriginalL'auteur Arkantos | 2014-07-15