一。程序计数器
二。虚拟机栈
1.栈帧
2.局部变量表
3
常见递归,可能导致栈溢出,如果说给虚拟机栈限定一个大小,然后方法一直递归,就会导致StackOverFlowError;
如果给虚拟机栈设置大小非常大,甚至超出了机器本身大小,然后方法递归,很明显会导致内存不够,OutOfMemoryError
三。本地方法栈
四。堆
五。方法区
- 存储虚拟机加载的类信息(类的版本、字段、方法、接口),常量,静态变量,即时编译器编译后的代码等数据。
- 方法区和永久代
- 垃圾回收和方法区
常见递归,可能导致栈溢出,如果说给虚拟机栈限定一个大小,然后方法一直递归,就会导致StackOverFlowError;
如果给虚拟机栈设置大小非常大,甚至超出了机器本身大小,然后方法递归,很明显会导致内存不够,OutOfMemoryError