“面试不败计划”:垃圾垃圾回收
1、你知道哪些垃圾回收算法?
垃圾回收從理論上非常容易理解,具體的方法有以下幾種:
更詳細(xì)的內(nèi)容參見深入理解垃圾回收算法:
http://blog.csdn.net/dd864140130/article/details/50084471
2、如何判斷一個(gè)對(duì)象是否應(yīng)該被回收
這就是所謂的對(duì)象存活性判斷,常用的方法有兩種:
1.引用計(jì)數(shù)法;
2:對(duì)象可達(dá)性分析.
由于引用計(jì)數(shù)法存在互相引用導(dǎo)致無法進(jìn)行GC的問題,所以目前JVM虛擬機(jī)多使用對(duì)象可達(dá)性分析算法.
3、簡(jiǎn)單的解釋一下垃圾回收
Java 垃圾回收機(jī)制最基本的做法是分代回收。內(nèi)存中的區(qū)域被劃分成不同的世代,對(duì)象根據(jù)其存活的時(shí)間被保存在對(duì)應(yīng)世代的區(qū)域中。一般的實(shí)現(xiàn)是劃分成3個(gè)世代:年輕、年老和永久。內(nèi)存的分配是發(fā)生在年輕世代中的。當(dāng)一個(gè)對(duì)象存活時(shí)間足夠長(zhǎng)的時(shí)候,它就會(huì)被復(fù)制到年老世代中。對(duì)于不同的世代可以使用不同的垃圾回收算法。進(jìn)行世代劃分的出發(fā)點(diǎn)是對(duì)應(yīng)用中對(duì)象存活時(shí)間進(jìn)行研究之后得出的統(tǒng)計(jì)規(guī)律。一般來說,一個(gè)應(yīng)用中的大部分對(duì)象的存活時(shí)間都很短。比如局部變量的存活時(shí)間就只在方法的執(zhí)行過程中。基于這一點(diǎn),對(duì)于年輕世代的垃圾回收算法就可以很有針對(duì)性.
4、調(diào)用System.gc()會(huì)發(fā)生什么?
通知GC開始工作,但是GC真正開始的時(shí)間不確定.
總結(jié)
以上是生活随笔為你收集整理的“面试不败计划”:垃圾垃圾回收的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “面试不败计划”:面试题基础三
- 下一篇: “面试不败计划”:集合、日期、异常、序列