有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java垃圾收集技术中使用的通用数据结构

我多次遇到以下问题:

What data structures are used in garbage collection?

我还没有找到很多关于GC算法中使用的数据结构的资源

Edit: I understand that the question seems too broad since there are different kinds of garbage collection techniques. We could go with the commonly used garbage collection algorithms, like the ones found in most popular JVMs.


共 (1) 个答案

  1. # 1 楼答案

    你的问题相当于问“操作系统是如何工作的?”GC有许多不同的算法,它们根据算法的工作方式使用不同的内部数据结构

    许多算法使用根集作为起点。这是从应用程序线程直接访问的所有对象的列表。它是通过扫描线程堆栈、寄存器、静态变量等创建的。GC通常会处理根集,以跟踪到其他对象(因此可访问)的链接,并构建所有可访问对象的图形

    还有其他数据结构,如卡片表,但并非所有算法都使用这些数据结构

    您可能想要选择一个特定的GC算法并研究它