Java中垃圾回收器GC的一些误解
GC是一种比较神秘而又经常遇到的,虽然你不一定知道它在运行。但是对于gc,可能很多人有一些误解。
在jvm里,gc会自动在某些时候运行,也可以通过System.GC来指定让jvm运行,但是jvm不一定会马上运行,而是根据各种情况判断后在某个时刻运行。
有人也许会说了,当我的系统资源紧张,需要运行gc的时候,它不会马上响应,岂不是一点效果没有?而当系统资源不紧张的时候,我也不需要运行gc啊。
gc的运行需要一定的系统资源,当别的程序占用太多资源时,强迫运行gc的效果并不好。
所以,真正要想获得好的整体效果,是应当保证足够可用的系统资源,不要太榨尽了。