美文网首页
【3】内存回收

【3】内存回收

作者: zhuangchuhan | 来源:发表于2017-08-11 16:13 被阅读0次

什么样的对象要回收?

当然是死掉的对象,那么,怎么判断是死掉的对象?有几种方法:

1.引用计数法

对象有一个引用计数器,保存指向它的引用。当计数器为0的时候,就没有引用指向它,那么就可以被回收。

弊端:AB互相持有对方的引用,那么AB永远不会被回收,造成内存空间的浪费。

2.可达性分析

GC Roots对象,从这些对象出发,向下搜索,走过的路径成为引用链,当一个对象到GC Roots没有任何引用链链接的时候,那么,这个对象就可以被回收。

GC Roots对象包括:

虚拟机栈中的对象

本地方法栈中的对象

方法区中常量引用的对象

方法区中静态变量引用的对象

垃圾回收算法

相关文章

  • 垃圾回收总结

    内存垃圾回收主要是解决3个问题 哪些内存需要回收 what 何时回收 when 怎么回收 how 哪些需要回收 程...

  • 垃圾收集器

    问题: 1、哪些内存需要回收 2、何时回收 3、如何回收 问题一: 判断堆内存哪些对象已经“死亡”,需要进行回收?...

  • 垃圾收集器

    一、思考GC需要完成3件事情 哪些内存需要回收? 什么时候回收? 如何回收? 二、哪些内存需要回收? Java 内...

  • 深入理解Java虚拟机读书笔记-垃圾回收

    垃圾回收器执行垃圾回收主要做三个事情1、哪些内存需要回收2、什么时候回收3、如何回收 哪些内存需要回收1.引用计数...

  • 垃圾收集(GC)

    垃圾收集主要是完成3件事:什么内存需要回收,什么时候回收;通过什么方法回收。 1、什么内存需要回收: 通过判断对象...

  • 【3】内存回收

    什么样的对象要回收? 当然是死掉的对象,那么,怎么判断是死掉的对象?有几种方法: 1.引用计数法 对象有一个引用计...

  • JVM垃圾收集与垃圾收集器

    垃圾收集(GC)主要作用在于内存的回收,而GC要思考的三件事情: 1,哪些内存需要回收? 2,什么时候回收? 3,...

  • GC与内存分配策略——《深入理解JVM》读书笔记

    GC三大问:哪些内存需要回收?什么时候回收?怎么回收? 程序计数器、虚拟机栈和本地方法栈3个区域的内存回收不需要过...

  • 深入理解JVM - 垃圾收集器

    垃圾回收主要是要解决3件事情: 那些内存需要回收? 如何回收? 什么时候回收? 术语解释 并行/并发 并行(Par...

  • 性能优化<第五篇>:内存优化

    1、为什么要内存优化? 2、了解内存中的内容 3、内存上限 4、GC内存回收机制 5、内存泄漏、内存抖动、内存溢出...

网友评论

      本文标题:【3】内存回收

      本文链接:https://www.haomeiwen.com/subject/groqcxtx.html