Maison > Java > javaDidacticiel > le corps du texte

Quelle est la structure des objets Java en mémoire

PHPz
Libérer: 2023-04-30 13:31:14
avant
1249 Les gens l'ont consulté

1. L'en-tête de l'objet est divisé en MarkWord et KlassPoint.

MarkWord (champ de marque) : le HashCode de l'objet est stocké par défaut, remplaçant les informations d'âge et de position de marque verrouillée. Il réutilisera son propre espace de stockage en fonction de l'état de l'objet, c'est-à-dire que les données stockées dans MarkWord changeront à mesure que la position de la marque de verrouillage change.

KlassPoint (type pointer) : Le pointeur d'un objet vers ses métadonnées de classe. La machine virtuelle utilise ce pointeur pour déterminer à quelle classe appartient l'objet.

2. Données d'instance. Cette partie stocke principalement les informations sur les données et les informations sur la classe parent.

3. Alignez et remplissez. Étant donné que la machine virtuelle nécessite que l'adresse de départ de l'objet soit un multiple entier de 8 octets, les données de remplissage n'existent pas nécessairement, uniquement pour l'alignement des octets.

Un objet vide occupe 8 octets en raison de l'alignement et du remplissage. L'alignement et le remplissage de moins de 8 octets nous aideront à le compléter automatiquement.

Instances

public class TestStudent {
public static void main(String[] args) {
int n = 10;  //栈存储
int m = 10;  //栈存储
Student stu = new Student();
//属性赋值
stu.name="张三";
System.out.println(stu.name);  //null   张三
System.out.println(stu.age);   //0  
//调用
String name = "ls";   //局部变量(常量池)
String aaaa="ls";
String pwd = "123";
stu.login(name,pwd);
System.out.println("name:"+name);   //ls
System.out.println("执行");
}
}
 
class Student {
// 属性
String name;
int age;
//用户登录
// String userName;
// String pwd;
public void login(String userName,String pwd){
System.out.println(userName+"===="+pwd);   //ls  123
}
public void show() {
System.out.println("姓名:" + name + ",年龄:" + age);
}
}
Copier après la connexion

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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal