Maison >Java >javaDidacticiel >Qu'est-ce qui a remplacé PermGen dans JDK 8 et comment ça marche ?

Qu'est-ce qui a remplacé PermGen dans JDK 8 et comment ça marche ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-19 01:04:02731parcourir

What Replaced PermGen in JDK 8 and How Does It Work?

Élimination de PermGen dans JDK 8

Lors de la mise à niveau vers JDK 8, vous pouvez rencontrer un message d'avertissement lors de la tentative de lancement d'Eclipse. Cet avertissement indique que l'option de machine virtuelle Java (JVM) « MaxPermSize » est ignorée en raison de sa suppression dans JDK 8.

Raisons pour ignorer « MaxPermSize »

L'espace de génération permanente (PermGen), géré par l'option "MaxPermSize", a été supprimé de HotSpot dans JDK 8. Cela était principalement dû à plusieurs inconvénients :

  • Taille fixe au démarrage, ce qui rend difficile l'ajustement.
  • Opaque et faiblement typé, entraînant des défis de débogage.
  • Améliorations futures limitées dues à ses contraintes.

MetaSpace : un remplacement pour PermGen

PermGen a été remplacé par Metaspace, un nouvel espace qui répond à ces inconvénients. Metaspace offre plusieurs avantages :

  • Zones de stockage spécifiques au chargeur de classe, simplifiant l'allocation.
  • Allocation linéaire et aucune récupération individuelle, améliorant l'efficacité.
  • Pas de numérisation GC ou compactage, réduisant les frais généraux.
  • Taille par défaut illimitée, évitant la mémoire potentielle contraintes.

Réglage du métaespace

Bien que la taille maximale du métaespace soit généralement illimitée, vous pouvez la définir à l'aide de l'indicateur "-XX:MaxMetaspaceSize". De plus, « -XX:MetaspaceSize » définit sa taille initiale. Si cela n'est pas spécifié, Metaspace s'ajustera dynamiquement en fonction de la demande d'exécution.

En conclusion, l'élimination de PermGen et l'introduction de Metaspace dans JDK 8 ont entraîné une amélioration des performances du GC et une gestion simplifiée du temps d'exécution. Les développeurs doivent être conscients de la dépréciation de l'option "MaxPermSize" et de ses implications pour leurs applications.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn