Java垃圾回收时对对象的标记分析

来源:互联网 发布:js隐藏元素 hidden 编辑:程序博客网 时间:2024/05/25 08:14
引用计数法(Java未使用)
给对象添加一个引用计数器,对象被引用加一,引用失效时计数器减一
可达性分析法(Java虚拟中使用的方法)
枚举出根节点,根据根节点向下分析,与根节点有引用关系的视为存活对象,与根节点没有关系则可以回收

java引用类型
强引用-----指程序代码中普遍存在的,类似Object obj = new Object(),只要强引用存在则对象永远不会被回收
软引用-----描述一些有用但还非必须的对象,在系统发生内存溢出前会把这些对象列入回收范围内,SoftReference
弱引用-----描述非必须对象,只能存活到下一次垃圾回收之前,WeakReference
虚引用-----最弱的引用关系,是否存有虚引用关系完全不会对对其生存周期造成影响,PhantomReference

对象的自我拯救
对象调用finallize()方法可以躲过一次GC,在该方法内将this指针指向GC节点,可以在当次GC中避免被标记,但是在下次系统GC时依旧会被标记回收。

GC Root对象包括
  1. 虚拟机栈中引用的对象(栈帧中的本地变量列表)
  2. 方法区中静态属性引用的对象
  3. 方法区中常量引用的对象
  4. 本地方法栈中JNI引用的对象
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 脸上发红发痒起疙瘩怎么办 脸过敏了怎么办最简单 胸下垂应该怎么办19岁 身上的肉特别松怎么办 才30岁脸部松弛怎么办 脸上的皮肤很松怎么办 面部皮肤干燥起皮刺痛怎么办 脸上的皮肤很粗糙怎么办 脸上又红又痒怎么办 鲜红斑痣增生了怎么办 激光祛斑后色素沉着怎么办 白球鞋洗后发黄怎么办 夏天出汗妆花了怎么办 买的小产权房怎么办 嘴唇起皮怎么办小妙招 照相嘴巴是歪的怎么办 鼻子笑起来很宽怎么办 财运不好怎么办最近你有偏财 从小缺爱的人怎么办 一到晚上就怕死怎么办 碰到不讲理的人怎么办 遇到不讲理的人怎么办 蚰蜓虫子咬了怎么办 腰肌损伤怎么办恢复快 腰闪了怎么办最有效 墨兰严重烂根怎么办 铁兰花变绿了怎么办 1岁半宝宝吵瞌睡怎么办 28天宝宝吵瞌睡怎么办 2个月宝宝闹瞌睡怎么办 被刺猬的刺扎了怎么办 买电脑被坑了怎么办 买电脑被坑了怎么办啊 在电脑城被坑了怎么办 小狗20天不睁眼怎么办 金星秀停播沈南怎么办 干了活拿不到钱怎么办 干完活要不到钱怎么办 让蚊子咬了很痒怎么办 秋天被蚊子咬了怎么办 练芭蕾脚背太硬怎么办