学习jvm 最重要的核心是jvm的内存结构,因为所有针对jvm的研究都是围绕jvm的内存结构
无论你是想优化jvm性能,垃圾回收,监控数据等等都离不开jvm内存结构
jvm的内存结构
jvm 虚拟机栈——栈先入后出的数据结构
每次方法执行对应栈帧的出入栈过程
方法
栈出入过程
-Xss 配置栈大小的,默认为1m——1024kb
当方法递归调用自己形成死循环时,会爆出栈溢出异常,stackOverFlowError
栈针:
1、局部变量
2、操作数栈——执行引擎的工作区(类似操作系统的缓存)
类比:
操作系统: cpu+缓存+主内存
jvm: jvm执行引擎+操作数栈+栈、堆
3、动态链接
4、完成出口
代码运行示例
原文:https://www.cnblogs.com/yutf/p/13696860.html