Maison  >  Article  >  Java  >  Quel est le processus de création d'objets Java

Quel est le processus de création d'objets Java

王林
王林original
2020-05-25 09:59:473194parcourir

Quel est le processus de création d'objets Java

Processus de création d'un objet Java :

Vérification du chargement de la classe-->Allouer de la mémoire-->Initialiser la valeur zéro-->Définir l'en-tête de l'objet -->Exécuter la méthode init

Les détails sont les suivants :

1. Vérification du chargement de la classe

Lorsque la machine virtuelle rencontre une nouvelle instruction, elle vérifie d'abord les paramètres de cette instruction. Pouvez-vous localiser la référence symbolique d'une classe dans le pool constant et vérifier si la classe représentée par cette référence symbolique a été chargée, analysée et initialisée par ji. Sinon, le processus de chargement de classe est effectué en premier.

(Tutoriel vidéo recommandé : vidéo Java )

2 Il existe deux façons d'allouer de la mémoire

 :

(1. ) Collision de pointeur : supposons que la mémoire dans le tas Java est régulière, avec de la mémoire utilisée d'un côté et de la mémoire libre de l'autre. Il y a un pointeur au milieu comme indicateur du point de démarcation. La mémoire allouée déplace ce pointeur. au côté libre. Une distance égale à la taille de l’objet.

(2) Liste libre : si la mémoire dans le tas Java n'est pas régulière, la machine virtuelle doit maintenir une liste pour enregistrer les blocs de mémoire disponibles et trouver un espace suffisamment grand dans la liste pour l'allouer. à l'objet lors de l'allocation et mettre à jour les enregistrements de la liste.

3. Initialiser la valeur zéro

Initialiser tout l'espace mémoire alloué à la valeur zéro Si TLAB est utilisé, il sera initialisé à la valeur zéro lorsque TLAB est alloué.

4. Définir l'en-tête de l'objet

Définissez principalement les informations de métadonnées de la classe, le code de hachage de l'objet, l'âge de génération GC de l'objet et d'autres informations.

5. Exécutez l'initialisation de la méthode init.

Tutoriel recommandé : Introduction au développement Java

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