【Android面试八股文】 GC的流程是怎么样的?介绍下GC回收机制与分代回收策略


垃圾回收(Garbage Collection, GC) 是Java和许多现代编程语言中的一个重要特性。

它自动管理内存,从而减少了手动内存管理的负担并降低了内存泄漏和非法内存访问的风险。

一、什么是垃圾(Garbage)?

在计算机科学中,垃圾(Garbage)通常指的是那些程序不再需要使用并且无法访问的数据或对象

既然讨论的是”垃圾回收GC",那就必须知道哪些对象垃圾Java 虚拟机中使用一种叫作可达性分析的算法来决定对象是否可以被回收

二、什么是可行性分析?

可达性分析算法是从离散数学中的图论引入的,

JVM 把内存中所有的对象之间的引用关系看作一张

通过一组名为”GC Root"对象作为起始点,从这些节点开始向下搜索

搜索所走过的路径称为引用链,最后通过判断对象的引用链是否可达来决定对象是否可以被回收。

如下图所示:

相关推荐

  1. 面试题:简述Go垃圾回收机制

    2024-06-16 06:54:02       9 阅读
  2. GC垃圾回收定义

    2024-06-16 06:54:02       34 阅读
  3. GC垃圾回收算法

    2024-06-16 06:54:02       20 阅读
  4. C#面:.NET中垃圾回收机制GC

    2024-06-16 06:54:02       33 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-16 06:54:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-16 06:54:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-16 06:54:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-16 06:54:02       18 阅读

热门阅读

  1. 搭建Python虚拟环境(三):Conda

    2024-06-16 06:54:02       9 阅读
  2. vuex是什么?如何使用?使用他的功能场景?

    2024-06-16 06:54:02       8 阅读
  3. Web前端经验:探索、挑战与成长的奇幻之旅

    2024-06-16 06:54:02       11 阅读
  4. mac编译dbgen出错rand::rngs::OsRng

    2024-06-16 06:54:02       9 阅读
  5. 深入浅出Spring Boot自动装配:让开发更轻松

    2024-06-16 06:54:02       8 阅读
  6. Qt 槽函数重载时通过函数指针绑定

    2024-06-16 06:54:02       9 阅读
  7. 常用的Linux、python命令

    2024-06-16 06:54:02       5 阅读
  8. 【学习笔记】MySQL(Ⅲ)

    2024-06-16 06:54:02       7 阅读
  9. 【手机】米10替换基带

    2024-06-16 06:54:02       6 阅读
  10. Cheat Engine.exe修改植物大战僵尸阳光与冷却

    2024-06-16 06:54:02       8 阅读
  11. 模拟题1(考虑周全以及情况较多)

    2024-06-16 06:54:02       6 阅读