Raisons de non-respect de ces argument est permanente génération a été supprimé dans le HotSpot de la JDK8 en raison des inconvénients suivants
- Taille fixe au démarrage – difficile à accorder.
- Interne Hotspot types d'objets Java : puisse se déplacer avec plein GC, opaque, pas fortement typé et difficile à déboguer, nécessaire méta-métadonnées.
- Simplifier les collections complètes : Spécial des itérateurs pour les métadonnées pour chaque collecteur
- À désallouer de la classe de données simultanément et non pas lors de GC pause
- Permettre aux futures améliorations qui ont été limitées par le PermGen.
La Génération Permanente (PermGen) de l'espace a été complètement retiré et est en quelque sorte de le remplacer par un nouvel espace appelé Metaspace.
Les conséquences de la PermGen l'enlèvement est que de toute évidence, la PermSize et MaxPermSize JVM arguments sont ignorés et vous n'obtiendrez jamais de java.lang.OutOfMemoryError: PermGen erreur.
Avantages de MetaSpace
- Profitez de Java Langage de Spécification de la propriété : les Classes et les métadonnées associées correspondre à la durée de vie de la classe loader
- Par le chargeur de la zone de stockage – Metaspace
- Linéaire allocation seulement
- Aucun individu de remise en état (sauf pour RedefineClasses et de chargement de classe à l'échec)
- Pas de GC d'analyse ou de compactage
- Pas de réinstallation pour metaspace objets
Metaspace Tuning
Le maximum de metaspace la taille peut être définie à l'aide de la -XX:MaxMetaspaceSize drapeau, et la valeur par défaut est illimité, ce qui signifie que seule la mémoire du système est la limite. La -XX:MetaspaceSize tuning drapeau définit la taille initiale de metaspace Si vous ne spécifiez pas ce paramètre, le Metaspace permettra de redimensionner dynamiquement en fonction de la demande la demande au moment de l'exécution.
Modification permet à d'autres optimisations et fonctionnalités dans le futur
- La classe d'Application de partage de données
- Les jeunes de la collecte des optimisations, G1 classe de déchargement
- Métadonnées les réductions de la taille et de l'intérieur de la JVM de l'empreinte projets
Amélioration de la GC de performance aussi. Plus de détails