1、ParNew + CMS的组合让我们有哪些痛点?

痛点:STW,且停顿时间不可控

G1垃圾回收器比~更好的垃圾回收性能

2、G1垃圾回收器

G1 同时回收新生代和老年代的对象,把java堆拆分为多个大小相等的Region

最大特点:可以设置 ‘预期停顿时间’,G1全权负责达到这个目标,控制回收对性能的影响

3、G1是如何做到对垃圾回收导致的系统停顿可控的?

1-通过把内存拆分为大量小Region

2-追踪每个Region的回收价值 - 有多少垃圾、回收这些垃圾预估耗时多少。

3-在设置的垃圾回收时间内,选择回收价值最好的进行回收

??表述中‘设置预期停顿时间’,G1全权负责,保证达到这个目标,后面表述‘尽量控制在指定的时间范围’,请问会存在回收时间超时的现象么?

答:几乎不会

??、如果在指定的时间内,回收的空间满足不了新对象的空间需求会怎样?是继续触发回收还是oom

答:继续触发回收

4、Region可能属于新生代也可能属于老年代 

  新生代和老年代各自的内存区域是不停的变动的,由G1自动控制。

??状态转换:新生代和老年代各自的内存区域是不停的变动,新生代变为老年代可以理解,老年代会变为新生代么?我猜想应该不会,可能老年代的Region空间全部回收完了,可能从老年代 变成 初始状态(非新非老),然后变成新生代,这样循环轮回。

答:Region变空后才会改变分代属性

本文是《从 0 开始带你成为JVM实战高手》内容总结,版权问题,特此声明。详细内容:

购买成功后找我返现10元

029、JVM实战总结:大厂面试题:最新的G1垃圾回收器的工作原理,你能聊聊吗相关推荐

  1. jvm性能调优 - 18白话G1垃圾回收器的工作原理

    文章目录 ParNew + CMS的组合的痛点 G1垃圾回收器 G1是如何做到对垃圾回收导致的系统停顿可控的? Region可能属于新生代也可能属于老年代 总结 ParNew + CMS的组合的痛点 ...

  2. 031、jvm实战总结:动手实验:线上系统部署如果采用G1垃圾回收器,应该如何设置参数?

     1.前文回顾 1.G1中有新 .老.大三种Region 2.新生代回收条件:新生代Eden区满的时候 3.新生代GC仍然采用复制算法 4.控制停顿时间,对Region进行挑选回收 5.进入老年的条件 ...

  3. jvm学习第十、十一天、十二天—垃圾回收器1、垃圾回收的相关概述2、 垃圾回收相关算法3、 垃圾回收器

    标题:jvm学习第十.十一天.十二天-垃圾回收器 学习内容: 1.垃圾回收的相关概述 2. 垃圾回收相关算法 3. 垃圾回收器 内容详情: 1.垃圾回收的相关概述 什么是垃圾( Garbage)? 垃 ...

  4. JVM调优理论篇_二、常用垃圾回收器(JVM10种垃圾回收器)以及垃圾回收算法

    JVM调优理论篇_二.常用垃圾回收器以及垃圾回收算法 前言 一.垃圾回收基础 1.什么场景下使用垃圾回收 2.垃圾回收发生在哪个区域? 3.对象在什么情况下会被回收?(如何判断一个对象是否该被回收) ...

  5. JVM面试必问:G1垃圾回收器

    摘要:G1垃圾回收器是一款主要面向服务端应用的垃圾收集器. 本文分享自华为云社区<JVM面试高频考点:由浅入深带你了解G1垃圾回收器!!!>,原文作者:Code皮皮虾 . G1垃圾回收器介 ...

  6. java8堆内存模型_「GC系列」JVM堆内存分代模型及常见的垃圾回收器

    1. 内存分代模型 为什么要说JVM的内存分代模型呢,因为内存分代和垃圾回收器的运行是有关系的. 现在大部分用到的垃圾回收器在逻辑上是分代的,除了G1之外的其他垃圾回收器在逻辑上和物理上都是分代的. ...

  7. 双/三色标记法的垃圾回收(GC)原理解析和缺陷解决方案(Go,Lua以及jvm的CMS和G1垃圾回收器中使用的回收算法)

    标记-清除算法 go和lua虚拟机以及jvm的CMS和G1垃圾回收器的回收算法的思想均来自于标记-清除算法(Mark-Sweep),它们的gc有重要的两部分: 1.从根节点遍历所有对象,如果可达到,则 ...

  8. 023、JVM实战总结:一步一图:那JVM老年代垃圾回收器CMS工作时,内部又干了些啥?

    1.前文回顾 对象都分配在新生代的Eden区,然后每次垃圾回收之后,存活对象都进入Survivor区,下一次垃圾回收后的存活对象都进入另外一个Survivor区. 2.CMS垃圾回收的基本原理 采用标 ...

  9. 【JVM】G1垃圾回收器

    1.概述 G1(Garbage First)垃圾收集器是当今垃圾回收技术最前沿的成果之一.早在JDK7就已加入JVM的收集器大家庭中,成为HotSpot重点发展的垃圾回收技术.同优秀的CMS垃圾回收器 ...

最新文章

  1. 测试用例设计方法基础理论知识
  2. linux scp命令
  3. HDU 3015 Disharmony Trees(树状数组)
  4. Android反编译技术总结
  5. DAL,IDAL,BLL,Factory作用
  6. WebApi实现验证授权Token,WebApi生成文档等 - CSDN博客
  7. 华为NP课程笔记24-BFD
  8. 地图上导出坐标html文件,如何将标签的坐标、海拔等属性导出到TXT文本中
  9. stm32f4 dma da正弦波发生器 keil5 hal库 CubeMX
  10. excel导入自定义单元格式yyyymd hmmss时间方法
  11. 计算机用户名显示TEMP,win10只要打开ie桌面出现temp文件夹如何解决
  12. handsome for Typecho主题重建备忘
  13. 企业邮箱品牌哪家好?四大品牌企业邮箱推荐
  14. pandas - 时间天数计算-实现excel中IF(ROUNDDOWN(),,)函数
  15. Android内存泄漏总结,成功拿下大厂offer
  16. 【Verilog】时序逻辑电路 -- 程序设计与应用
  17. TIVA 123GXL的边沿计数模式测量低频PWM
  18. linux安装ifconfig
  19. 详解python使用金山词霸的翻译功能(调试工具断点的使用)
  20. vue2 使用 Export2Excel.js 前端导出数据为 excel 文件记录

热门文章

  1. java c 简单例子_通过一个简单的例子来理解C语言中的LAPACK调用
  2. linux中副规则_Linux中的命名规范
  3. moore 数据集_可计算存储:数据压缩和数据库计算下推
  4. python open文件被另一个进程打开怎么办,在Windows上,如何打开一个已经被另一个进程打开进行写入的文件?...
  5. 腾讯地图api-地图展示map和覆盖物(标记)
  6. 小米互联通信服务_时隔六年,小米NFC碰碰贴复活,碰一下自动亮灯、联网、投屏...
  7. 计算机基础知识试卷并附答案,计算机基础知识_试卷及答案.doc
  8. php 判断是否为安卓,通过http user-agent判断是否为手机浏览器
  9. java泛型与c 泛型,Java泛型代码编译与javac,失败与Eclipse Helios
  10. access 报表中序号自动_数据报表多种序号生成方式