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

系列九、对象的生命周期和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.lryc.cn/news/233614.html

相关文章:

  • spark 窗口滑动用于在不同的数据块之间执行操作
  • 【数据结构】栈与队列的实现
  • HCL设备启动失败——已经解决
  • RabbitMQ的幂等性、优先级队列和惰性队列
  • Uniapp-小程序自定义导航栏
  • 云课五分钟-08安装Opera成功-仓库中查找对应版本
  • 设计师的好帮手!在线PS网页版工具让创意无限发挥!
  • Android Glide加载transform CenterCrop, CircleCrop ShapeableImageView圆形图并描边,Kotlin
  • 【docker启动的Jenkins时,遇到时区问题处理】
  • MySQL8.0学习笔记
  • 初始MySQL(七)(MySQL表类型和存储引擎,MySQL视图,MySQL用户管理)
  • Redis 配置文件信息中文翻译版
  • React项目首页中用canvas实现星空
  • flutter ios Exception : No Impeller Context is Available
  • [PHP]写个简单的分页静态接口用宝塔部署到Nginx
  • 表单提交是
  • Qt的委托代理机制
  • OpenCV入门5——OpenCV的算术与位运算
  • 好用的开源项目地址
  • 深度学习(五)softmax 回归之:分类算法介绍,如何加载 Fashion-MINIST 数据集
  • 单稳态中间继电器\UEG/A-2H/220V 8A导轨安装 JOSEF约瑟
  • 2311rust到20版本更新
  • 基于Spring、SpringMVC、MyBatis的漫画网站
  • MySQL数据库八股文
  • 利用WebSocket +MQ发送紧急订单消息,并在客户端收到消息的用户的页面自动刷新列表
  • R语言——taxize(第一部分)
  • 【Spring Cloud】黑马头条 用户服务创建、登录功能实现
  • 聚观早报 |英伟达发布H200;夸克发布自研大模型
  • 15项基本SCADA技术技能
  • Golang 发送邮件