JVM 有 Full GC,为什么还会出现 OutOfMemoryError呢?

沙海 2021年6月20日04:57:31Java评论27字数 1018阅读3分23秒阅读模式
摘要

智能摘要

智能摘要文章源自JAVA秀-https://www.javaxiu.com/33796.html

偶然看到这个问题,结果发现了一个很有意思的回复。对于强引用,当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足问题。问题是如果您房间里堆的都是宝贝(或者看起来都是宝贝)的话,佣人也没辙。用力抓住的肯定是宝贝,一点没碰的肯定不是宝贝,半抓不抓着的先观望。最近面试BAT,整理一份面试资料《Java面试BATJ通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。文章源自JAVA秀-https://www.javaxiu.com/33796.html

原文约 849 | 图片 2 | 建议阅读 2 分钟 | 评价反馈文章源自JAVA秀-https://www.javaxiu.com/33796.html

JVM 有 Full GC,为什么还会出现 OutOfMemoryError呢?

戳一戳→ 程序员的成长之路 文章源自JAVA秀-https://www.javaxiu.com/33796.html

JVM 有 Full GC,为什么还会出现 OutOfMemoryError呢?文章源自JAVA秀-https://www.javaxiu.com/33796.html

程序员的成长之路文章源自JAVA秀-https://www.javaxiu.com/33796.html

互联网/程序员/技术/资料共享 文章源自JAVA秀-https://www.javaxiu.com/33796.html

关注文章源自JAVA秀-https://www.javaxiu.com/33796.html

阅读本文大概需要 2 分钟。文章源自JAVA秀-https://www.javaxiu.com/33796.html

来自:zhihu.com/question/38511221文章源自JAVA秀-https://www.javaxiu.com/33796.html

平时有逛知乎的习惯,一般对JVM相关话题比较感兴趣。偶然看到这个问题,结果发现了一个很有意思的回复。文章源自JAVA秀-https://www.javaxiu.com/33796.html

问题:

既然在触发Full GC的时候,年老代和持久带都会被清理,那么为什么还会出现OOM问题?文章源自JAVA秀-https://www.javaxiu.com/33796.html

而且,对于强引用,当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足问题。文章源自JAVA秀-https://www.javaxiu.com/33796.html

那么Full GC机制的存在有何意义文章源自JAVA秀-https://www.javaxiu.com/33796.html

还是说FGC主要针对的是驻扎在年老代的软引用?既然如此,对于四种引用的方式如何抉择?总不能所有对象都创建引用队列使用软引用或者弱引用吧?文章源自JAVA秀-https://www.javaxiu.com/33796.html

R大回复

这个问题的意思是:文章源自JAVA秀-https://www.javaxiu.com/33796.html

为什么我请了佣人来收拾房间,我的房间还是会堆满?文章源自JAVA秀-https://www.javaxiu.com/33796.html

那我还请佣人来干什么?文章源自JAVA秀-https://www.javaxiu.com/33796.html

他不是号称能把我房间里的垃圾都清理干净的么?文章源自JAVA秀-https://www.javaxiu.com/33796.html

问题是如果您房间里堆的都是宝贝(或者看起来都是宝贝)的话,佣人也没辙。文章源自JAVA秀-https://www.javaxiu.com/33796.html

怎么判断是不是宝贝呢?文章源自JAVA秀-https://www.javaxiu.com/33796.html

就看主人有没有用手抓着它——被抓住的宝贝如果有连接到别的宝贝的话那被连接到的也算上。用力抓住的肯定是宝贝,一点没碰的肯定不是宝贝,半抓不抓着的先观望。文章源自JAVA秀-https://www.javaxiu.com/33796.html

<END>文章源自JAVA秀-https://www.javaxiu.com/33796.html

推荐阅读:文章源自JAVA秀-https://www.javaxiu.com/33796.html

微信和QQ,终于可以互通了!文章源自JAVA秀-https://www.javaxiu.com/33796.html

处理 Exception 的几种实践,被很多团队采纳!文章源自JAVA秀-https://www.javaxiu.com/33796.html

最近面试BAT,整理一份面试资料《Java面试BATJ通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。

文章源自JAVA秀-https://www.javaxiu.com/33796.html

获取方式:点个「在看」,点击上方小卡片,进入公众号后回复「面试题」领取,更多内容陆续奉上。文章源自JAVA秀-https://www.javaxiu.com/33796.html

朕已阅 JVM 有 Full GC,为什么还会出现 OutOfMemoryError呢?文章源自JAVA秀-https://www.javaxiu.com/33796.html

继续阅读
速蛙云 - 极致体验,强烈推荐!!!购买套餐就免费送各大视频网站会员!快速稳定、独家福利社、流媒体稳定解锁!速度快,全球上网、视频、游戏加速、独立IP均支持!基础套餐性价比很高!这里不多说,我一直正在使用,推荐购买:https://www.javaxiu.com/59919.html
weinxin
资源分享QQ群
本站是JAVA秀团队的技术分享社区, 会经常分享资源和教程; 分享的时代, 请别再沉默!
沙海
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定