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!