VM在发生Minor GC之前,虚拟机会检查老年代最大可用的连续空间是否大于新生代所有对象的总空间,如果大于,则此次Minor GC是安全的如果小于,则虚拟机会查看HandlePromotionFailure设置项的值是否允许担保失败。 如果HandlePromotionFailure=true,那么会继续检查老年代最大可用连续空间是否大于历次晋升到老年代的对象的平均大小,如果大于则尝试进行一次Minor GC,但这次Minor GC依然是有风险的; 如果小于或者HandlePromotionFailure=false,则改为进行一次Full GC。

什么是空间分配担保策略?相关推荐

  1. jvm深入理解:内存分配与回收策略(优先在Eden分配、大对象直接进入老年代、长期存活的对象将进入老年代、动态对象年龄判定、空间分配担保)

    出入:深入理解Java虚拟机:JVM高级特性与最佳实践(第3版) Java技术体系的自动内存管理,最根本的目标是自动化地解决两个问题:自动给对象分配内存以及自动回收分配给对象的内存. 象的内存分配,从 ...

  2. jvm空间分配担保机制

    新生代Minor GC后剩余存活对象太多,无法放入Survivor区中,此时就必须将这些存活对象直接转移到老年代去,如果此时老年代空间也不够怎么办? 1.执行任何一次Minor GC之前,JVM会先检 ...

  3. 《深入理解Java虚拟机》-----第3章 垃圾收集器与内存分配策略

    Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的"高墙",墙外面的人想进去,墙里面的人却想出来. 3.1 概述 说起垃圾收集(Garbage Collection,G ...

  4. JVM-09自动内存管理机制【内存分配和回收策略】

    文章目录 思维导图 对象优先在eden区域分配 理论 案例 虚拟机参数设置及参数说明 代码 GC结果分析 大对象直接进入老年代 理论 案例 虚拟机参数设置及参数说明 代码 GC日志 长期存活的对象将进 ...

  5. 《深入理解JVM.2nd》笔记(三):垃圾收集器与垃圾回收策略

    文章目录 概述 对象已死吗 引用计数算法 可达性分析算法 再谈引用 finalize():生存还是死亡 回收方法区 垃圾收集算法 标记-清除算法 复制算法 标记-整理算法 分代收集算法 HotSpot ...

  6. 垃圾收集器和内存分配策略

    说明:本篇文章是在阅读<深入理解Java虚拟机>过程中的一些笔记和分析,由于本人能力有限,如果有书写错误的地方,欢迎各位大佬批评指正!我们互相交流,学习,共同进步! 该项目的地址:http ...

  7. 深入理解Java虚拟机笔记之六内存分配与回收策略

    对象的内存分配,对象主要分配在新生代的Eden区上,如果启动了本地线程分配缓冲,将按线程优先在TLAB上分配.少数情况下也可能会直接分配在老年代中,分配的规则并不是百分百固定的,其细节取决于当前使用的 ...

  8. 深入理解Java虚拟机——垃圾收集器与内存分配策略

    文章目录 对象已死? 引用计数算法 可达性分析算法 再谈引用 强引用: 软引用: 弱引用: 虚引用: 回收方法区 垃圾收集算法 标记 - 清除算法 缺点: 标记 - 复制算法 标记 - 整理算法 分代 ...

  9. 垃圾收集器与内存分配策略

    一.概述 哪些内存需要回收? 什么时候回收? 如何回收?   在Java内存运行时的区域各个部分中,其中程序计数器.虚拟机栈.本地方法栈3个区域随线程而生,随线程而灭:栈中的栈帧随着方法的进入和退出而 ...

最新文章

  1. javascript的知识总结
  2. OO真经——关于面向对象的哲学体系及科学体系的探讨(上)
  3. 最近的一次敏捷项目Scrum经验总结
  4. 命令行编译 WRK ,windbg 调试
  5. 应该怎么学python_什么样的人适合学Python,应该怎么学?
  6. Java基础——volatile关键字解析
  7. python和revit_pyRevit系列教程1
  8. 阿里道延:我对技术架构的理解与架构师角色的思考
  9. 双目测距中用到的视差图和景深的关系推导----三种方法详细解
  10. C++ float、double判断是否等于0
  11. 1317_使用pyserial通过python读取串口数据显示的同时记录log文件
  12. java测试vss_VSS项目分支
  13. 转载《2020年校招面经心得》
  14. 好系统帮你恢复win7经典开机画面
  15. JetBrains IDEA快捷键大全
  16. L1 - Learn 8 Phrasal Verbs for opening: pop open, peel off, flip up…
  17. linux内核学习的屠龙刀、倚天剑(需要搭配硬件调试环境)
  18. 富人越富,穷人越穷,我为什么反对PoS
  19. web登录用户名密码加密
  20. 用python 对蜻蜓fm下载的音频文件进行批量还原文件名

热门文章

  1. JavaScript记录一下
  2. python包导入详细教程脚本之家_python包导入详细教程脚本之家_Python使用import导入本地脚本及导入模块的技巧总结......
  3. Vue——this.$nextTick()
  4. Java访问修饰符——用于控制可见性
  5. Spring IOC容器和获取组件对象源码分析
  6. js正则匹配闭合标签_我从Vue源码中学到的一些JS编程技巧
  7. 利用react-router实现按需加载、登录验证、刷新组件。。。
  8. 任正非:华为三十年大限快到了,想不死就得新生
  9. Cookie禁用了Session还可以用吗?
  10. 记录一则数据库连接故障ORA-12560,ORA-12518