点击上方“方志朋”,选择“设为星标”

回复”666“获取新整理的面试文章

来源:R 大

zhihu.com/question/38511221

  • 问题:

  • R大回复


平时有逛知乎的习惯,一般对JVM相关话题比较感兴趣。偶然看到这个问题,结果发现了一个很有意思的回复。

问题:

既然在触发Full GC的时候,年老代和持久带都会被清理,那么为什么还会出现OOM问题?

而且,对于强引用,当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足问题。

那么Full GC机制的存在有何意义

还是说FGC主要针对的是驻扎在年老代的软引用?既然如此,对于四种引用的方式如何抉择?总不能所有对象都创建引用队列使用软引用或者弱引用吧?

R大回复

这个问题的意思是:

为什么我请了佣人来收拾房间,我的房间还是会堆满?

那我还请佣人来干什么?

他不是号称能把我房间里的垃圾都清理干净的么?

问题是如果您房间里堆的都是宝贝(或者看起来都是宝贝)的话,佣人也没辙。

怎么判断是不是宝贝呢?

就看主人有没有用手抓着它——被抓住的宝贝如果有连接到别的宝贝的话那被连接到的也算上。用力抓住的肯定是宝贝,一点没碰的肯定不是宝贝,半抓不抓着的先观望。

热门内容:如何在Java代码中去掉烦人的“!=null”
不要网上乱拷贝代码了!一段网上找的代码突然炸了!
数据库连接池到底应该设多大?
项目实践:SpringBoot三招组合拳,手把手教你打出优雅的后端接口
一次SQL查询优化原理分析最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。
获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。
明天见(。・ω・

既然 JVM 有 Full GC,为什么还会出现 OutOfMemoryError?相关推荐

  1. JVM学习之GC常用算法

    2019独角兽企业重金招聘Python工程师标准>>> 出处:博客园左潇龙的技术博客--http://www.cnblogs.com/zuoxiaolong,多谢分享 GC策略解决了 ...

  2. JVM基础系列第14讲:JVM参数之GC日志配置

    说到 Java 虚拟机,不得不提的就是 Java 虚拟机的 GC(Garbage Collection)日志.而对于 GC 日志,我们不仅要学会看懂,而且要学会如何设置对应的 GC 日志参数.今天就让 ...

  3. JVM内存管理------GC算法精解(五分钟教你终极算法---分代搜集算法)

    转载自   JVM内存管理------GC算法精解(五分钟教你终极算法---分代搜集算法) 引言 何为终极算法? 其实就是现在的JVM采用的算法,并非真正的终极.说不定若干年以后,还会有新的终极算法, ...

  4. JVM内存管理------GC算法精解(五分钟让你彻底明白标记/清除算法)

    转载自  JVM内存管理------GC算法精解(五分钟让你彻底明白标记/清除算法) 相信不少猿友看到标题就认为LZ是标题党了,不过既然您已经被LZ忽悠进来了,那就好好的享受一顿算法大餐吧.不过LZ丑 ...

  5. 触发JVM进行Full GC的情况及应对策略

    堆内存划分为 Eden.Survivor 和 Tenured/Old 空间,如下图所示: 从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC,对老年代GC称为M ...

  6. JVM为什么需要GC

    社区内有人发起了一个讨论,关于JVM是否一定需要GC?他们认为应用程序的回收目标是构建一个仅用来处理内存分配,而不执行任何真正的内存回收操作的 GC.即仅当可用的 Java 堆耗尽的时候,才进行顺序的 ...

  7. JVM之枚举GC Roots 根节点,安全点,安全区域。

    引言  判断对象是否被回收的算法有引用计数算法和可达性分析算法. 引用计数法: 可达性分析算法:是根据GC Roots根节点作为起始点向下搜索引用链,找不到引用链则判定对象可回收. 可作为GC Roo ...

  8. 手把手教你如何写出完美的JVM的Young GC

    模拟JVM的Young GC JVM参数示范(基于JDK 1.8) 用如下JVM参数运行代码: # 初始新生代大小 5M -XX:NewSize=5242880 # 最大新生代大小 5M -XX:Ma ...

  9. JVM——成为Java GC专家(1)

    原文: Understanding Java Garbage Collection JVM--成为Java GC专家(1) 理解Java垃圾回收机制(GarbageCollection,简称GC)是如 ...

  10. JVM系列二:GC策略内存申请、对象衰老

    JVM里的GC(Garbage Collection)的算法有很多种,如标记清除收集器,压缩收集器,分代收集器等等,详见HotSpot VM GC 的种类 现在比较常用的是分代收集(generatio ...

最新文章

  1. 星际2虫王iA加入商汤,担任AI研究员,网友:iA vs AI ,是自己训练跟自己打吗?...
  2. 解决ubuntu ufw开启时,kvm虚拟机网络全部无法访问
  3. java第二天_进制转换原理和补码存储方式作业
  4. java.lang.NullPointerException错误分析
  5. C#后台创建Excel文件的那点事儿
  6. 那些年的那些事CISC和RISC发展中的纠缠
  7. NSTimeInterval和CMTime
  8. CentOS 7.4 下 如何部署 AspNetCore 结合 consul
  9. 计划B? 那是计划N…没什么。 拼图于2015年问世
  10. linux 解压安卓内核,解压内核镜像
  11. 12 年!Android 系统的漫漫设计路
  12. 5.2.8.字符设备驱动代码实践1
  13. flash打造佛光效果实例教程
  14. 案例4——52周存钱挑战
  15. 并发编程——Forkjoin设计模式原理
  16. 华为HCNA学习笔记----第一天
  17. 日立6TB充氦硬盘详细规格、实物照片
  18. Contiki开发日记·1——Instant-contiki环境搭建
  19. 赢在测试2:中国软件测试专家访谈录
  20. 一年三轮融资3亿 深睿医疗领跑AI医疗行业

热门文章

  1. Java计算两个字符串日期之间的天数差
  2. 判断JS对象是否拥有某属性两种方式
  3. 一步步教你编写redactor的插件
  4. 【新周报(045)】青少年编程竞赛交流群周报
  5. 分析与设计(AD)简介(2)
  6. 【UVA】11991 Easy Problem from Rujia Liu? (整数v第k次出现在什么位置)
  7. delphi xe 文件服务器,DelphiXE7中创建WebService(服务端+客户端)
  8. 云游戏、VR、AI,云计算给元宇宙提供了哪些想象力?
  9. 调查:“AI红娘”来了,有一半人选择相信TA
  10. 覆盖10亿设备,月活2亿,快应用要取代App?