内存理解(附图解)

1、栈内存(stack)

存放的都是方法中的局部变量。(方法中的参数或方法内部的变量)
方法的运行都是在栈当中。

2、堆(heap)

凡是new出来的东西,都在堆当中。
堆内存里面的东西都有一个地址值:16进制。
堆内存里面的数据,都有默认值。

3、方法区内存(method area)

存储.class相关信息,包含方法的信息。

 

4、本地方法栈(native method stack)
与操作系统相关。

 

5、寄存器(pc register)
与CPU相关。

 


两个数组内存图:

 


 

 两个引用指向同一个数组的内存图:

 


 

一个对象的内存图:

 


 

this和super的内存图:

 

posted @ 2022-11-16 15:26  霍根施拉格  阅读(97)  评论(0)    收藏  举报