现在的位置: 首页 > 综合 > 正文

应用服务器中ClassLoader有关内存的问题

2013年01月08日 ⁄ 综合 ⁄ 共 330字 ⁄ 字号 评论关闭

近几天在比较系统时发现一个奇怪的现象,就是ClassLoader会hold住它所Load的大部分class,导致系统更新时,内存上涨,并且一直不降。

看了看sun的jdk文档(官网上),指明ClassLoader并不负责Class的unload,Class的unload依然取决于它的引用计数是否为0。

当一个AppClassLoader由于应用更新时,需要重新生成一个AppClassLoader时,原AppClassLoader加载的Class很可能不会释放,那是因为原AppClassLoader或者它所load起来的class可能被系统ClassLoader load起来的某些Class所引用。

如果碰到这种问题,只能通过一些profiler工具逐步检测了。

抱歉!评论已关闭.