首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java垃圾收集背后的理论和算法

Java垃圾收集背后的理论和算法
EN

Stack Overflow用户
提问于 2010-11-10 12:34:10
回答 6查看 19.2K关注 0票数 17

我在很多地方读过,但没有找到一个我可以了解的地方:

java垃圾收集到底是怎么回事?

它是如何实现的?

它是什么时候以及如何调用的?

为了回收内存,需要遵循哪些算法?

简而言之,关于它的一切:)

已修复!

一篇非常好的文章:http://www.artima.com/insidejvm/ed2/gcP.html

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-11-10 13:00:28

非常简短的答案是:

java垃圾收集到底是怎么回事?

GC是一种内存管理机制,其中系统(在本例中为JVM )负责自动回收不再使用的内存。

它是如何实现的?

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

何时以及如何调用它?

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

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

有几种可能的方法。看看其他人发表的文章,作为这方面的起点。

票数 10
EN

Stack Overflow用户

发布于 2010-11-10 12:37:22

关于垃圾收集的维基百科条目涵盖了您的所有问题:

http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)

票数 2
EN

Stack Overflow用户

发布于 2010-11-10 13:20:29

...简而言之,关于它的一切:)

如果你有一个好的图书馆,看看这本关于垃圾收集的优秀而全面的书:

Richard Jones和Rafael Lins,垃圾收集:自动动态内存管理的算法,Wiley and Sons (1996年),ISBN 0-471-94148-4

此外,这本书还在印刷中,并在至少一家知名的在线书店上市。多买点东西。它是新的,价格范围很广,低至25美元的二手。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4141237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档