Qu'est-ce que perm espace?
Pendant l'apprentissage de java le profilage de la mémoire, je continue à voir le terme "perm de l'espace" en plus de "tas." Je sais ce que le tas est - ce que la perm de l'espace?
- Java 8 est complètement retiré de ce concept et a déménagé dans Metaspace
- Référence du bien expliqué ici youtube.com/watch?v=PUUJ4rNpRhU
Vous devez vous connecter pour publier un commentaire.
Il représente génération permanente:
Perm space
est utilisé pour garder les informations pour les classes chargées, et quelques autres fonctionnalités avancées commeString Pool
(hautement optimisée de la chaîne de l'égalité des tests), qui ont habituellement créé parString.intern()
méthodes.En tant que votre demande(nombre de classes) va croître de cet espace doit se remplir rapidement, depuis la collecte des ordures sur cet Espace n'est pas très efficace pour nettoyer au besoin, vous Sortir rapidement de la Mémoire : perm gen espace d'erreur. Ensuite, aucune application doit s'exécuter sur la machine de manière efficace, même après avoir eu un énorme vide JVM.
Avant de commencer votre demande, vous devriez
java -XX:MaxPermSize
pour se débarrasser de cette erreur.Simple (et simpliste) réponse: elle est où la jvm stocke sa propre comptabilité de données, par opposition à vos données.
Perm Gen est synonyme de génération permanente qui détient les méta-données d'informations sur les classes.
La permgen space est la zone de mémoire qui contient toutes les réflexions sur les données de la machine virtuelle elle-même, telles que la classe et de la méthode des objets.
Permgen space est toujours connu comme la méthode de la zone.Lorsque le chargeur de classe sous-système va charger le fichier de classe(byte code) à la méthode de la zone(permGen).
Il contient toutes les métadonnées de la classe ex: nom Pleinement qualifié de la classe, le nom complet du parent immédiat de la classe, la variable info, constructeur info, constante piscine infor etc.
Il détient des trucs comme les définitions de classe, chaîne de la piscine, etc. Je suppose que vous pourriez l'appeler méta-données.
Ce qui existe en vertu de PremGen : Classe relève de PremGen zone. Les champs statiques sont également développées au chargement de classe, afin qu'ils existent également dans PremGen. Constante de la zone de la Piscine ayant tous immuable champs qui sont mis en commun, comme la Chaîne sont conservés ici. En outre, les données de la classe chargée par la classe des chargeurs, des tableaux d'Objets, les objets internes utilisés par la jvm sont également situés.
PermGen Space stands pour l'allocation de mémoire pour la génération Permanente Tous Java des objets immuables dans cette catégorie, comme
String
qui est créé avec des littéraux ou avecString.intern()
méthodes et pour le chargement de classes dans la mémoire. PermGen Space accélère notre Chaîne de l'égalité de la recherche.