JAVA面试题(39)

    本文首发于cartoon的博客
    转载请注明出处:https://cartoonyu.github.io/c...java

  • 怎么判断对象是否能够被回收git

    • 根搜索法github

      • 判断是否有finalize方法或是否进行过finalize算法

        • 知足上面判断条件直接回收
        • 若不知足则进行筛选
      • 执行对象的finalize方法,判断对象是否和GC Roots是否有直接或间接关联
    • 引用计数法post

      • 每次引用计数加1
      • 回收时查看计数是否为0
  • Java 中都有哪些引用类型对象

    • 强引用blog

      • 内存空间不足也不会回收
    • 软引用内存

      • 内存空间不足会回收该引用
    • 弱引用get

      • 在垃圾回收期扫描时,无论内存是否不足都会回收引用
    • 虚引用博客

      • 在任什么时候候均可能被回收
  • 说一下 JVM 有哪些垃圾回收算法

    • 标记-清除

      • 标记可回收对象进行清理
    • 标记整理

      • 标记可回收对象
      • 将存活对象整理到连续内存空间,清除边界外内存
    • 复制算法

      • 将不可回收对象复制到另外一内存空间中
      • 清理原有内存空间
    • 分代收集算法

      • 根据对象存活周期不一样划份内存块
      • 垃圾回收机制根据代数不一样回收对象
  • 说一下 JVM 有哪些垃圾回收器

    • serial
    • parnew
    • parallel Scavenge
    • serial old
    • parallel old
    • cms
    • G1
    • 因为是初步接触JVM,因此不是很了解JVM垃圾回收器的工做原理
相关文章
相关标签/搜索