当前位置:主页 > 软件编程 > JAVA代码 >

Java对象创建内存案例解析

时间:2022-01-09 11:07:03 | 栏目:JAVA代码 | 点击:

Java对象创建内存图解析

1. 栈

例如:
int a =10;
Person p = new Person();
10存储在栈内存中 , 第二句代码创建的对象的引用§存在栈内存中

2. 堆

3. 方法区

方法区存放的是:

创建内存栈、堆、方法区图析

举个例子如下图:

在这里插入图片描述

对象的引用存放在栈中,new创建Book()对象在堆内存中开辟了一段内存,内存都是有地址的假设为0x123,栈内存中存储了地址,地址指向堆内存,获取了对象Book的属性name、info,并赋值为"计算机",“计算机书籍”,如图示:

在这里插入图片描述

接着BOOK book2 = book1,在栈内存中又创建了一个区域,这个区域就是book2,也拿到book1的地址,通过book2调用将name改为"Java",接着在调用方放say()。整个过程如图示:

在这里插入图片描述

结果如下:

在这里插入图片描述

这就是Java对象创建内存到释放内存的一个过程。

您可能感兴趣的文章:

相关文章