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

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

来源:zhihu.com/question/38511221

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

问题:

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

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

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

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

R大回复

这个问题的意思是:

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

那我还请佣人来干什么?

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

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

怎么判断是不是宝贝呢?

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

热门内容:炫酷,SpringBoot+Echarts实现用户访问地图可视化(附源码)API 面试四连杀:接口如何设计?安全如何保证?签名如何实现?防重如何实现
为什么 SQL 语句不要过多的 join?最近面试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. 南京大学计算机考研机试,2018南大CS考研机试答案
  2. 字节2020算法岗校招一面
  3. HTTP请求常见状态码
  4. VisualStudio中的代码段
  5. 英国拟对英伟达收购Arm展开深入调查
  6. 余弦距离、欧氏距离和杰卡德(Jaccard)相似性度量的比较
  7. javascript基础 之 void
  8. Unix 激荡 50 年:驱动 Android、iOS 的操作系统是如何从失败开始的?
  9. 17.如何正确使用TCP
  10. 计算机重启恢复到推荐分辨率,为什么重启之后电脑界面分辨率会变
  11. 手机扫描电脑二维码登录原理
  12. 工具-typora-自定义快捷键
  13. 机器学习-准确率、灵敏度、特异度、PPV、NPV、F1计算方法
  14. 源码安装nginx 1.23.1
  15. 文本溢出隐藏显示... 鼠标移动到元素显示全部内容
  16. 关于pip 的依赖项解析器当前未考虑安装的所有包。此行为是以下依赖项冲突的根源。
  17. Barsetto百胜图BAV02自助咖啡机,创造便捷生活的无限可能
  18. Genymotion启动不了?——绝对零度试验机
  19. 卡巴斯基关于360胡乱解读“超级工厂”的声明
  20. java+uniapp苹果内购

热门文章

  1. python学习-25 函数递归
  2. PHP PSR-4 Autoloader 自动加载(中文版)
  3. 【leetcode75】Intersection of Two Arrays(数组的交集)
  4. J2EE 中的服务器 tomcat6.0 配置
  5. Android之自定义AlertDialog无法监听控件
  6. 如何利用自组织竞争网络进行患者癌症发病预测
  7. Matlab与线性代数 -- 正态分布的随机矩阵
  8. 【Java】类与对象 - 对象的组合
  9. 【数据结构】顺序栈的实现(C语言)
  10. 模型神器组合,yyds!