我在很多地方读书,但是没有找到我可以了解的地方:

什么是Java垃圾回收?

如何实现?

什么时候以及如何称呼它?

为了回收内存,如果遵循什么算法?

简而言之:

已修正!!!

很好的文章:http://www.artima.com/insidejvm/ed2/gcP.html

最佳答案

答案的简短版本是:



GC是一种内存管理机制,系统(在这种情况下为JVM)负责自动回收不再使用的内存。



有多种实现方法。一个简单的描述是跟踪分配的每个内存。系统会定期检查分配的段,以查看程序的任何部分(变量)是否仍可以到达内存。回收所有无法访问的内存。



这也留给实现。您在Java中的唯一保证是,在引发OutOfMemoryError之前,系统将尝试回收内存。我希望大多数GC实现在尝试向底层操作系统请求更多内存之前也尝试进行收集。通常,将有一个后台线程处理运行收集器。



有几种可能。查看其他人以此为起点的文章。

关于java - Java垃圾回收背后的理论和算法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4141237/

10-12 02:06