栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

对象生命周期和GC

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

对象生命周期和GC

一、

辛存者0区别名:from区

辛存者1区别名:to区

from区和to区,他们的位置和名分,不是固定的,每次GC后会交换,GC之后有交换,谁空谁是to

 

eden区和from区,to区比例:8:1:1

新生代和老年代的比例:1/3,2/3

发送轻GC 的过程就是 复制--->清空---->互换

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

2、清空eden、SurvivorFrom

然后,清空Eden和SurvivorFrom中的对象,也即复制之后有交换,谁空谁是to

 二、永久带

 

 对于HotSpot虚拟机,很多开发者习惯将方法区称只为“永久代”,单严格本质上说两者不同,或者说使用永久代来实现方法去而已,永久代是方法区(相当于一个接口interface)的一个实现,jdk1.7的版本中,已经将原本放在永久代的字符串常量池移走。

永久去(java7之前有)

永久存储区是一个常驻内存区域,用于存放JDK自身所携带的Class,Interface的元数据,也就是说它存储的运行环境必须的类信息,被转载进此区域的数据是不会被垃圾回收期回收掉的,关闭JVM才会释放次区域占用的内存。 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/727211.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号