我在很多地方读书,但是没有找到我可以了解的地方:
什么是Java垃圾回收?
如何实施?
什么时候以及如何称呼它?
为了回收内存,如果遵循什么算法?
简而言之:
固定!!!
一篇很好的文章:http : //www.artima.com/insidejvm/ed2/gcP.html
答案的简短版本是:
GC是一种内存管理机制,系统(在本例中为JVM)负责自动回收不再使用的内存。
有多种实现方法。一个简单的描述是跟踪分配的每个内存。系统会定期检查分配的段,以查看程序的任何部分(变量)是否仍可以到达内存。回收所有无法访问的内存。
这也留给实施。您在Java中的唯一保证是,在引发OutOfMemoryError之前,系统将尝试回收内存。我希望大多数GC实现在尝试向底层操作系统请求更多内存之前也尝试进行收集。通常,将有一个后台线程处理运行收集器。
有几种可能。查看其他人以此为起点的文章。