版权声明:可以转载,转载请注明出处~觉得读完有收获可以点个赞再走啊欢迎关注 https://blog.csdn.net/zhangzhaoyuan30/article/details/89517643
目录
1运行时数据区域
1.1程序计数器
1.2Java虚拟机栈
1.3本地方法栈
和Java虚拟机栈相似,不过是用于Native方法。
在HotSpot中合二为一。
1.4Java堆
存放对象实例和数组
1.5方法区
1.5.1运行时常量池
1.6直接内存
2HotSpot虚拟机对象探秘
2.1对象的创建
- 加载:
- 分配内存:
- 初始化:
- 对对象进行必要设置:
- <init>初始化
2.2对象的内存布局
待补充
2.3对象的访问定位
3实战:OutOfMemory异常
3.1Java堆溢出
3.2虚拟机栈和本地方法溢出
-Xoss 设置 本地方法栈大小(但在HotSpot虚拟机中不区分本地方法栈和虚拟机栈,故无效)
-Xss 设置虚拟机栈
3.3方法区和运行时常量池溢出
-XX:PermSize:表示非堆区初始内存分配大小
-XX:MaxPermSize:表示对非堆区分配的内存的最大上限
3.4本机直接内存溢出
-XX:MaxDirectMemorySize,若不指定和堆最大值一样