zoukankan      html  css  js  c++  java
  • Java垃圾回收-GC

    判定对象是否属于垃圾:

    • 判断对象的引用数量
      • 通过判断对象的引用数量来决定,是否被回收,引用数量=0,被当做垃圾处理
      • 每个对象实例,都有一个引用计数器,被引用+1,完成引用-1
      • 优点:执行效率高,程序执行影响较小
      • 缺点:无法检测循环引用的情况,导致内存泄露
    • 可达性分析算法
      • 通过判断对象的引用链是否可达,来决定对象是否可以被回收
      • 可以作为GC Root的对象,如下:
        •   虚拟机栈中引用的对象(栈帧中的本地变量表)
        •   方法区中常量引用的对象
        •   方法区中的类静态属性引用的对象
        •   本地方法栈中的Native方法的引用对象
        •       活跃线程的引用对象

    垃圾回收算法:

    1. 标记-清除算法
      • 缺点:容易造成碎片化
    2. 复制算法
      • 适用于对象存活率低的情况
      • 解决碎片化的问题
    3. * 分代收集算法
  • 相关阅读:
    php--有限继承
    面向对象三大特性(封装/继承/多态)
    定义文本溢出
    设计模式
    js数组sort方法
    鼠标移动事件
    单击事件
    数据类型转换与比较
    html主要笔记
    字符串常用的方法
  • 原文地址:https://www.cnblogs.com/starstarstar/p/11240143.html
Copyright © 2011-2022 走看看