JVM结构

作者: caichenor | 来源:发表于2020-02-20 21:47 被阅读0次

    垃圾回收(GC)

    1. 引用计数算法(引用如果互相持有,那么不会被回收)
    2. 可达性算法(通过图路径算法,通过GCRoot开始搜索引用,不可达节点则被回收)
    3. 标记清除算法(坏处容易造成内存碎片,好处对象比较多的时候,很容易处理,是不用移动对象)
    4. 复制算法(可达的引用进行复制到新内存空间,坏处是浪费一块空间进行交换)
    5. 标记整理算法(消除内存碎片问题)

    引用的类型

    强引用,软引用,弱引用,虚引用

    弱引用的创建

    1. Object obj = new Object();
      WeakReference<Object> wf= new Weakreference(obj);
      obj = null;
      wf.get();

    触发回收

    1. Java虚拟机无法再为新的对象分配新的内存空间
    2. System.gc() (十分不推荐,java虚拟机不会立马执行,加大虚拟机压力)
    3. 低优先级的GC线程被运行就会触发

    相关文章

      网友评论

          本文标题:JVM结构

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