共计 693 个字符,预计需要花费 2 分钟才能阅读完成。
关注“Java 后端技术全栈”
回复“000”获取大量电子书
栈指向堆
如果在栈帧中有一个变量,类型为援用类型,比方:
package com.tian.my_code.test;
public class JvmCodeDemo {public Object testGC(){
int op1 = 10;
int op2 = 3;
Object obj = new Object();
Object result=obj;
return result;
}
}
这时候就是典型的栈中元素 obj 指向堆中的 Object 对象,result 的指向和 obj 的指向为同一个对象。
应用命令
javac -g:vars JvmCodeDemo.java
进行编译,而后再应用
javap -v JvmCodeDemo.class >log.txt
而后关上 log.txt
文件
如果还有纳闷,能够再联合下面的字节码图和关系图来看,这样了解就更轻松些。
办法区指向堆
办法区中会寄存动态变量,常量等数据。
如果是上面这种状况,就是典型的办法区中元素指向堆中的对象。
堆指向办法区
办法区中会蕴含类的信息,对象保留再堆中,创立一个对象的前提是有对应的类信息,这个类信息就在办法区中。
Java 对象内存布局
一个 Java 对象在内存中包含 3 个局部:对象头、实例数据和对齐填充
举荐浏览:
《Java 并发编程的艺术》.pdf
《高效程序员的 45 个习惯:麻利开发修炼之道》.pdf
《Java Web 企业我的项目实战》.pdf
关注公众号“Java 后端技术全栈”
收费获取 500G 最新学习材料
正文完