Heim > Java > javaLernprogramm > Hauptteil

Wie ist die Struktur von Java-Objekten im Speicher?

PHPz
Freigeben: 2023-04-30 13:31:14
nach vorne
1249 Leute haben es durchsucht

1. Der Objektheader ist in MarkWord und KlassPoint unterteilt.

MarkWord (Markierungsfeld): Der HashCode des Objekts wird standardmäßig gespeichert und ersetzt das Alter und die Positionsinformationen der gesperrten Markierung. Der eigene Speicherplatz wird entsprechend dem Status des Objekts wiederverwendet, d. h. die in MarkWord gespeicherten Daten ändern sich, wenn sich die Position der Sperrmarkierung ändert.

KlassPoint (Typzeiger): Der Zeiger eines Objekts auf seine Klassenmetadaten. Die virtuelle Maschine verwendet diesen Zeiger, um zu bestimmen, zu welcher Klasse das Objekt gehört.

2. Instanzdaten. In diesem Teil werden hauptsächlich Dateninformationen und Informationen zur übergeordneten Klasse gespeichert.

3. Ausrichten und füllen. Da die virtuelle Maschine erfordert, dass die Startadresse des Objekts ein ganzzahliges Vielfaches von 8 Bytes ist, sind die Auffülldaten nicht unbedingt vorhanden, sondern nur zur Byte-Ausrichtung.

Ein leeres Objekt belegt aufgrund der Ausrichtung und Auffüllung 8 Bytes. Eine Ausrichtung und Auffüllung von weniger als 8 Bytes hilft uns, es automatisch zu vervollständigen.

Instanzen

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);
}
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie ist die Struktur von Java-Objekten im Speicher?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage