解释内存中的栈堆和静态区的用法


解释内存中的栈堆和静态区的用法

文章插图
内存中的栈 , 堆和静态区的用法:
1、堆区:专门用来保存对象的实例(new创建的对象和数组) , 实际上也只是保存对象实例的属性值 , 属性的类型和对象本身的类型标记等 , 并不保存对象的方法 。
2、栈区:对象实例在Heap中分配好以后 , 需要在Stack中保存一个4字节的Heap内存地址 , 用来定位该对象实例在Heap中的位置 , 便于找到该对象实例 。
【解释内存中的栈堆和静态区的用法】3、静态区/方法区:方法区又叫静态区 , 跟堆一样 , 被所有的线程共享 。方法区包含所有的class和static变量 。方法区中包含的都是在整个程序中永远唯一的元素 , 如class , static变量 。全局变量和静态变量的存储是放在一块的 , 初始化的全局变量和静态变量在一块区域 , 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域 。

    推荐阅读