摘要:
近几天在比较系统时发现一个奇怪的现象,就是ClassLoader会hold住它所Load的大部分class,导致系统更新时,内存上涨,并且一直不降。看了看sun的jdk文档(官网上),指明ClassLoader并不负责Class的unload,Class的unload依然取决于它的引用计数是否为0。当一个AppClassLoader由于应用更新时,需要重新生成一个AppClassLoader时,原AppClassLoader加载的Class很可能不会释放,那是因为原AppClassLoader或者它所load起来的class可能被系统ClassLoader load起来的某些Class所引用。 阅读全文