面试题——JVM老年代空间担保机制(我的想法)

这里借用一下人家的图,来说一下我的想法,嘻嘻。。。。

原文链接:一道面试题:JVM老年代空间担保机制-CSDN博客?

        嗯,我觉得老年代担保机制的主要作用就是避免频繁触发FULL GC,这其实也是因为年轻代Minor GC后存活对象大小的不确定性而造成的,整体流程就是当准备Minor GC时,老年代会先提前预估一下,往最坏了想,如果这次年轻代GC后,所有对象都存活下来并且还全都要进入老年代,那我能不能承受住呢,如果行,那么正常执行Minor GC即可,但如果不行,老年代就要判断一下了,参考以往的多次Minor GC后进入老年代对象的大小平均值,如果现在老年代可用空间小于平均值,则直接执行Full GC,但如果现在老年代可用的空间大于平均值,则还是硬着头皮执行Minor GC,如果执行了Minor GC后,老年区的剩余空间是够用的,则一切安好,如果硬着头皮执行Minor GC后,剩余空间是不够的,则还是会执行Full GC。

        这就是老年代空间担保的过程,是新生代对象向老年代空间进行担保,看我Moinor GC后,进入老年代对象的总大小,你老年代能不能装的下。

        而且老年代的空间担保机制是默认开启的。

 

相关推荐

  1. JVM年代内存优化

    2024-04-07 09:30:02       66 阅读
  2. 面试】如何破坏 JVM双亲委派机制

    2024-04-07 09:30:02       27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-07 09:30:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-07 09:30:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-07 09:30:02       82 阅读
  4. Python语言-面向对象

    2024-04-07 09:30:02       91 阅读

热门阅读

  1. ip命令

    2024-04-07 09:30:02       38 阅读
  2. 蓝桥杯每日一练

    2024-04-07 09:30:02       31 阅读
  3. PHP radis 分布式缓存简单示例

    2024-04-07 09:30:02       34 阅读
  4. 逻辑回归详解

    2024-04-07 09:30:02       141 阅读
  5. vscode 快捷键自定义

    2024-04-07 09:30:02       42 阅读
  6. 软件开发师学习

    2024-04-07 09:30:02       40 阅读
  7. 5568: 【J1】【栈】后缀表达式

    2024-04-07 09:30:02       39 阅读
  8. Kali Linux国内知名镜像源

    2024-04-07 09:30:02       38 阅读
  9. 【openGL4.x手册13】色彩混合blend

    2024-04-07 09:30:02       29 阅读
  10. c#编程基础学习之方法

    2024-04-07 09:30:02       51 阅读
  11. Python爬虫入门指南

    2024-04-07 09:30:02       44 阅读
  12. Redis入门--头歌实验使用Redis构建自动补全组件

    2024-04-07 09:30:02       31 阅读
  13. jvm基础

    2024-04-07 09:30:02       39 阅读
  14. 234.回文链表

    2024-04-07 09:30:02       38 阅读