当前位置: 首页 > article >正文

系列九、对象的生命周期和GC

一、堆细分

Java堆从GC的角度还可以细分为:新生代(eden【伊甸园区】、from【幸存者0区】、to【幸存者1区】)和老年代。

二、MinorGC的过程

复制===>清空===》交换 

1、eden、from区中的对象复制到to区,年龄+1

        首先,当eden区满的时候会触发第一次GC,把还活着的对象拷贝到from区,当eden区再次满的时候会扫描eden区和from区,对这两个区域的对象进行垃圾回收,经过这次回收后还存活着的对象,则直接复制到to区(如果有对象的年龄已经达到了老年的标准,则复制到老年代),同时把这些对象的年龄+1;

2、清空eden、from区

        然后清空eden区和from区中的的对象,原来的from区变to区,to区变为新一轮的from区,也即复制之后有交换,谁空谁是to;

3、进入老年代

        部分对象会在from区和to区中复制来复制去,如此交换15次(由JVM的参数MaxTenuringThreshold决定,这个参数默认值为15)之后,如果还活着将进入老年代。


http://www.kler.cn/news/134343.html

相关文章:

  • Linux虚拟机中网络连接的三种方式
  • MySQL 教程 1.1
  • “ /^A-Z:\\{1,2}^/:\*\?<>\|+\.(jpg|gif|png|bmp)$/i ”这个正则表达式的理解
  • 月子会所信息展示服务预约小程序的作用是什么
  • Git-概念与架构
  • C语言 字符函数汇总,模拟实现各字符函数(炒鸡详细)
  • T10 数据增强
  • 树莓派通过网线连接电脑(校园网也能连接),实现SSH连接
  • 深入解析具名导入es6规范中的具名导入是在做解构吗
  • C++二分查找算法:有序矩阵中的第 k 个最小数组和
  • 数据结构 堆
  • 配置iTerm2打开自动执行命令
  • 打开游戏提示xapofx1_5.dll丢失如何修复?xapofx1_5.dll缺失的修复教程分享
  • 从一到无穷大 #19 TagTree,倒排索引入手是否是优化时序数据库查询的通用方案?
  • 滚雪球学Java(09-5):Java中的赋值运算符,你真的掌握了吗?
  • mac 打不开 idea 或者 pycharm 的方法
  • JVM垃圾回收相关概念
  • V100 GPU服务器安装GPU驱动教程
  • C语言二叉树的建立和遍历
  • 【论文复现】DAE:《Annotating and Modeling Fine-grained Factuality in Summarization》
  • 云原生专栏丨基于服务网格的企业级灰度发布技术
  • Go语言常用命令详解(二)
  • 【手写数据库toadb】数据库planner的整体架构,以及逻辑查询树的设计与实现流程
  • 深度学习损失函数
  • 微信小程序手写table表格
  • DevToys:开发者的多功能瑞士军刀,让编程更高效!
  • python基础 | 类与继承
  • 小迪安全笔记(2)——web应用架构搭建漏洞HTTP数据包代理服务器
  • hive sql多表练习
  • 【原创】WeChat Server搭建