Où sont les variables d'instance d'un objet stockées dans la JVM?
Est une variable d'instance d'un objet en Java stockées sur la pile ou de la méthode de la zone de la JVM?
Aussi, ne nous ont différents variable d'instance pour plusieurs threads?
Si elle est stockée dans la méthode de la zone de comment est variable d'instance différente de la variable statique de stockage?
source d'informationauteur saurabh goyal
Vous devez vous connecter pour publier un commentaire.
Pile et tas sont les mémoires allouées par le système d'exploitation de la machine qui exécute dans le
système d'.Pile est un lieu de mémoire où les méthodes et les variables locales sont stockées.
(les références à des variables soit primitive ou objet références sont également stockés dans la pile). Tas est un lieu de mémoire où les objets et sa variable d'instance sont stockées.
Donc pour résumer:
Chaque thread aura un compteur de programme (PC) et un support java pile. PC utiliser le java pile pour stocker les valeurs intermédiaires, la liaison dynamique, les valeurs de retour des méthodes et de l'expédition des exceptions. Il est utilisé à la place de registres.
Également pour en savoir plus sur le fil, vous devriez vraiment lire ce sujet Où est l'Objet Thread créé? Pile ou le Tas?.
Comme vous pouvez le voir ci-dessus champs statiques sont stockés en tas. D'autre part, variables locales sont stockées dans la pile.
//EDIT
Selon les commentaires de Bruno Reis et Peter Lawreyvous devriez également lire la Échapper à l'analyse
Pour être précis,
et l'objet sur le tas ). Seule invocation de méthode et de résultats partiels
sera stocké dans la pile de ne pas la méthode elle-même.
La Méthode De La Zone.
De Référence: La Tête La Première, Java