内存垃圾回收

  Java

Posted by Xiaoran on March 6, 2018

本文参考自加州伯克利 CS 系主任 Alex Aiken 的 Compiler 课程 (已于 Youtube 下架)

Java 是第一个支持 Garbage Collection (垃圾回收) 的主流语言

Garbage Collection 的方式

  • 对于任何一块内存区域,如果这个区域不 reachable,那么这个区域是 garbage
    • 有 pointer 指向的区域不一定 reachable,因为指向这个区域的 pointer 可能不 reachable

Java 的问题

如果你创建了一个巨大的 data structure,但是后半段的程序不太使用它,那么这个未被回收的内存会一直存在,直到程序结束