您的位置:首页 > 编程语言 > Java开发

【Java】从汇编码分析java对象的创建过程

2020-06-04 08:26 239 查看

转载自:https://blog.csdn.net/LU_ZHAO/article/details/105190971
源码:

class T {
int m = 8;
}
T t = new T();
1
2
3
4
汇编码:

0 new #2
3 dup
4 invokespecial #3 <T.>
7 astore_1
8 return
1
2
3
4
5
new #2
申请内存,在堆里面创建一个新对象。

半初始化,新建对象中的m值是0。

dup
复制操作,因为invokespecial会消耗一份引用,所以先复制一份

invokespecial
4 invokespecial #3 <T.>

init是调用它的构造方法。

此时对象中的m值是8。

astore_1
将符号和对象建立关联,即t和堆中的对象。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: