登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
StackOverFlowError 和 OutOfMemoryError 的区别
StackOverFlowError 和 OutOfMemoryError 的区别
[ 复制链接 ]
哈妙思
2025-12-29 19:45:00
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
StackOverflowError
和
OutOfMemoryError
都是
JVM
抛出的严重错误,接下来我们简单看一下他们的区别。
StackOverFlowError:
栈内存不够深(线程调用
栈深度
超出限制)。
OutOfMemoryError:
目标内存区域不够大(堆、方法区等共享内存区域
容量耗尽
,无法为新对象分配足够空间)。
关于
JVM
的组成部分,大家可以看下这篇博文:JVM的组成部分。
一、StackOverFlowError:栈溢出
1、定义
当
单个线程的方法调用栈深度超出 JVM 允许的最大值
时,虚拟机栈无法再创建新的栈帧,触发此错误。
2、原因
方法调用链过长(如
无限递归、深层递归
);
单个
栈帧过大
(如方法内定义了超大的局部变量数组)。
3、场景
最典型:
无终止条件的递归调用
(方法反复调用自身,栈帧持续叠加)。
public class StackOverFlowTest {
// 递归调用,无终止条件
public static void recursiveCall() {
recursiveCall(); // 方法自身调用,栈帧不断入栈
}
public static void main(String[] args) {
recursiveCall();
// 运行结果:Exception in thread "main" java.lang.StackOverflowError
}
}
复制代码
深层
嵌套
调用(如 A 调用 B,B 调用 C,… 嵌套 10000+ 层)。
二、OutOfMemoryError(OOM):内存不足
1、定义
当
某块共享内存区域(堆、元空间等)容量耗尽,且 GC 无法回收足够内存
时,JVM 无法为新对象分配空间,触发此错误。
2、原因
内存泄漏
(无用对象被 GC Root 引用,无法回收,持续占用内存);
内存分配
过小
(如堆内存 -Xmx 设置过小,无法满足业务对象创建需求);
超大对象
直接超出内存限制(如创建 new byte[1024*1024*1024],超出堆最大容量)。
内存泄漏
可参考此博文 Java 哪些情况会导致内存泄漏。
3、场景
堆内存 OOM:
创建大量对象且无法被 GC 回收(如静态集合持有对象)。
元空间 OOM:
动态生成大量类(如 Spring / CGLIB 动态代理、频繁加载类文件),元空间(存储类信息)耗尽。
栈内存 OOM
(与 StackOverFlowError 不一样):创建大量线程(每个线程占用独立栈内存),总栈内存超出物理内存限制(不是单个线程栈深度,而是线程数量过多)。
一般来说,
StackOverflowError
的错误日志会包含
java.lang.StackOverflowError + 方法调用栈(at XXX.XXX.method(...))
;
OutOfMemoryError
的错误日志会有
Java heap space、Metaspace、Direct buffer memory 等标注
,这些信息便于我们直接定位。
StackOverflowError
像是
一条单行道上的车排得太长
,堵死了(栈帧太多)。
OutOfMemoryError
像是
一个停车场停满了车,再也没有空位
(堆空间不足)。
当服务出现
StackOverflowError
或者
OutOfMemoryError
时,服务会处于
不稳定
状态,甚至会自动关闭,此时,我们需及时排查原因。
同为万里江湖客,共见三生风月身。-- 烟沙九洲
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
StackOverFlowError
OutOfMemoryError
区别
相关帖子
Spring @Component 和 @Bean 的区别与最佳实践
PostgreSQL三种关闭方式的区别
Motorola和Inter的区别
char和varchar的区别?VARCHAR(100)和 VARCHAR(10)的区别?Mysql字段类型20连问
Java单元测试、集成测试,区别
说一下 localhost 和127.0.0.1 的区别
FastJson2 与 SnackJson4 有什么区别?
Shader中颜色的加法和乘法的区别
Shader中颜色的加法和乘法的区别
Shader中颜色的加法和乘法的区别
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
Spring @Component 和 @Bean 的区别与最佳实践
14
1256
剧拧并
2025-08-29
业界
PostgreSQL三种关闭方式的区别
9
803
侧胥咽
2025-09-06
安全
Motorola和Inter的区别
19
873
史华乐
2025-10-13
业界
char和varchar的区别?VARCHAR(100)和 VARCHAR(10)的区别?Mysql字段类型20连问
17
999
珠尿娜
2025-10-13
业界
Java单元测试、集成测试,区别
16
518
距佰溘
2025-12-24
安全
说一下 localhost 和127.0.0.1 的区别
13
1113
坏级尹
2026-01-06
业界
FastJson2 与 SnackJson4 有什么区别?
3
8
甘子萱
2026-01-18
安全
Shader中颜色的加法和乘法的区别
1
8
宋子
2026-01-20
安全
Shader中颜色的加法和乘法的区别
2
11
蓬森莉
2026-01-20
安全
Shader中颜色的加法和乘法的区别
1
7
府扔影
2026-01-20
回复
(12)
孟茹云
2026-1-7 13:06:56
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
喜欢鼓捣这些软件,现在用得少,谢谢分享!
方方仪
2026-1-7 15:01:00
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
谢谢分享,辛苦了
劳暄美
2026-1-15 00:38:27
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
这个有用。
明思义
2026-1-21 10:38:35
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
喜欢鼓捣这些软件,现在用得少,谢谢分享!
貊淀
2026-1-21 20:00:54
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
新版吗?好像是停更了吧。
筒霓暄
2026-1-23 03:57:56
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢发布原创作品,程序园因你更精彩
章绮云
2026-1-23 05:18:44
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
过来提前占个楼
痕伯
2026-1-23 08:07:07
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
懂技术并乐意极积无私分享的人越来越少。珍惜
毋峻舷
2026-1-26 12:20:33
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
分享、互助 让互联网精神温暖你我
龙正平
7 天前
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
喜欢鼓捣这些软件,现在用得少,谢谢分享!
夔新梅
5 天前
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
用心讨论,共获提升!
明思义
4 天前
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
前排留名,哈哈哈
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
业界
科技
签约作者
程序园优秀签约作者
发帖
哈妙思
4 天前
关注
0
粉丝关注
24
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991124
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
宋子
9937
6
韶又彤
9952
7
闰咄阅
9993
8
刎唇
9995
9
蓬森莉
9919
10
俞瑛瑶
9998
查看更多
今日好文热榜
30
东南亚电商海外仓留不住客户?原来是因为这
899
架构评审与技术债治理——质量属性、演进式
305
架构评审与技术债治理——质量属性、演进式
417
使用 NanUI 快速创建具有现代用户界面的 Wi
564
如何在系统中正确判定工作日与节假日?从需
269
一种多选项的高效存取(存储、查询)解决方
62
DTS按业务场景批量迁移阿里云MySQL表实战(
640
DTS按业务场景批量迁移阿里云MySQL表实战(
564
Erlang 使用escript打包多个模块构建一个可
595
SpringBoot进阶教程(八十九)rabbitmq长链接
394
决策单调性优化 DP
483
文件存储微服务-阿里云OSS
749
就在明晚!时序数据库 Apache IoTDB x Dori
475
《实时渲染》第2章-图形渲染管线-2.6管线综
564
VS Code 的 Remote-SSH 一直连接不上远程主
58
练习:回家(选票定理Ballot Theorem)
729
产品评测:Visual Paradigm AI 聊天机器人
756
wangeditor5自定义扩展设置图片宽高(px)
850
spring6-工厂设计模式与bean的实例化方式
782
字符编码知多少(二)