美文网首页
java 垃圾回收机制

java 垃圾回收机制

作者: LibraLIn | 来源:发表于2021-06-07 10:59 被阅读0次

    垃圾回收机制是java语言的特性之一,java 是C++语言之后 诞生的语言,垃圾回收机制就相当于解决了C++语言对程序员的一些痛点,在语言中,当没有对象引用指向原先分配的对象内存时,该内存区域便定义为垃圾内存,JVM(java的虚拟机)的一个系统级线程会自动释放该内存。此操作称之为垃圾回收

    1.如何判断哪些内存地址是垃圾

    目前判断对象回收的有两种算法
    a.引用计数法
    引用计数法通过判断该对象被引用的次数 ,如果该对象被其他对象引用 引用计数+1, 如果停止引用关系,计数次数-1,当引用关系为0时,回收该对象.
    但是如果俩个对象互相强引用的情况下,俩个互相引用计数都不为0,会导致俩个对象都无法被回收,所以 需要用到可达性算法.

    b.可达性分析法
    可达性分析算法 ,首先确定一系列根对象(GC roots), 以根对象为起点,以所有引用对象关系搜索出一条引用链,在已用链上的对象就判断为不可回收,反之,不在引用链关系上的对象 就认定可以被回收。

    根对象的类型:
    1.虚拟机栈中的引用对象
    2.方法去中类静态的引用对象
    3,方法去中常量引用对象
    4,native方法的对象
    5,虚拟机中的内部对象

    相关文章

      网友评论

          本文标题:java 垃圾回收机制

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