这么变态的题目都会出,这个公司不是对正常运行的空间要求很严格,就是人品...第一题,本身gc作为jvm的一部分机制,只要jvm运行正常,它也就没问题。真到无法gc的地步,看来不是要增加硬件容量,就是降低应用对性能的要求,如果连gc(jvm)都保证不了,那只有exit(0)了。没见着"not enough memory..."或者"not enough space to..."错误发生的时候,结果是轻则应用停止重则系统重启。
第二题,更加变态,如果是递归就算了,本身就不提倡这样,如果不设有终止条件,那只有死循环,直到资源耗尽。当然,能正常终止的应用产生的实例,因为系统不再使用,符合回收条件,当然会正常回收。至于回收时刻,不予讨论。
第二题,更加变态,如果是递归就算了,本身就不提倡这样,如果不设有终止条件,那只有死循环,直到资源耗尽。当然,能正常终止的应用产生的实例,因为系统不再使用,符合回收条件,当然会正常回收。至于回收时刻,不予讨论。
先把a,b添加到一个集合中,
如果 没有第三者C 引用 a 或者b ,则 集合{a,b} 可回收,如果c 引用了,则把c 也加入到 a ,b 的集合{a,b,c}。
继续检测该集合。是否有引用。依次类推。
2,这个应该是不会回收的啊
b=new object;
a=b;
b=a;
这里的b是用来混淆我们的,其实都是指向这个new object,所以不会回收