每天记录一道Java面试题---day39

GC如何判断对象可以被回收了

回答重点

  • 引用计数法:
    - 每个对象由一个引用计数属性,新增一个引用时计数器加1,引用释放时计数减1,计数为0时可以回收。
  • 可达性分析法:
    - 从GC Roots开始向下搜索,搜索所走过的路径称为引用链。当一个对象到GC Roots没有任何引用链相连时,则证明此对象是不可用的,那么虚拟机就判断时可回收对象。
  • GC Roots的对象有:
    - 虚拟机栈中引用的对象
    - 方法区中类静态属性引用的对象
    - 方法区中常量引用的对象
    - 本地方法栈中JNI(Native方法)引用的对象

你可能感兴趣的:(基础,JVM,Java面试题,java,jvm,面试)