运行时数据区
线程独有: 程序计数器 运行java代码是记录java代码地址,native时为undefined
虚拟栈:虚拟机栈存储栈帧,不必是连续空间,帧有可能分配在堆上。java栈深可设置,超过则抛出stackOverflow。如果栈帧可动态扩展,可能会抛出oom。
堆:堆可以选择不同的gc算法、堆大小可根据需要自行扩展和缩小、内存不必连续。自动内存管理系统heap不足抛出oom
方法区:存储方法代码,运行时常量池。可以选择放在heap区或者不回收。分配不足会抛oom
运行时常量池:应该是每个类或接口有一个。在方法区。
本地方法栈?
java8内存模型
最新推荐文章于 2024-04-20 20:37:14 发布