如下图所示:
如上图所示,堆中的数据都有内存地址值,数据也都有默认初始化值,但是当对象不再被指向时,JVM就会启动垃圾回收垃圾回收机制,同时堆和方法区都是各个线程的共享区域,栈中的数据正好和堆中数据的规则相反
堆栈方法区的存储类型也是不一样的:
堆:new创建的对象或数组
栈:基本类型值、引用数据类型
方法区:类信息、常量。静态变量、编译器编译后的代码等(前提是:都是被虚拟机已经加载过的)
堆(heap)、栈(stack)和方法区(method)图示
最新推荐文章于 2022-12-29 12:39:44 发布
本文详细解析了JVM中的堆、栈和方法区的存储规则,解释了new创建的对象和数组如何存储在堆中,基本类型值及引用数据类型如何存储在栈中,以及方法区存放类信息、常量等的机制。

5013

被折叠的 条评论
为什么被折叠?



