前一篇:JVM 内存结构
StackFlowError(栈溢出)
线程的堆栈存储 线程局部原始数据类型、变量、对象的引用、返回值。如果线程堆栈大小超出分配的内存限制,就会出现栈溢出错误。
这里用递归调演示错误
解决方法:
1、修改代码
2、修改栈大小配置
64位电脑默认栈大小为 1024k=1m。可以修改为-Xss2m
OutOfMemoryError(内存溢出 OOM)
内存溢出指堆上存储的东西大于分配的内存大小。堆上存放数组、对象等数据
这里用数组演示错误。
解决方法:
1、修改代码
2、修改堆大小配置
我这里整体配置的是 1024m,可以修改-Xmx=2048m