爱心技术专栏专题

关于javavm的垃圾收集

摘录:爱心 来源:爱心 加入时间:2006年09月14日
摘要:
关于javavm的垃圾收集
一、sun jvm的自动收集与编程显式调用System.gc()是有区别的,
自动回收的线程级别是最低的,如果系统越来越繁忙,压力越来越大,那么自动回收的线程运行的机会就会变小,甚至不会运行,结果是内存不能释放;
不建议使用编程调用System.gc()是因为垃圾收集时,系统会挂起,而编程调用一般是定时处理的,并且用户线程度高于5,即肯定会被运行(这个我用过,回收效果明显,做过…

转载:转载请保留本信息,本文来自
http://www.51dibs.com
/html/2006/article/info/a_c13c55c627242056.htm

关于javavm的垃圾收集

站点:爱心种子小博士 关键字:关于javavm的垃圾收集

   
关于java vm的垃圾收集
一、sun jvm的自动收集与编程显式调用System.gc()是有区别的,
自动回收的线程级别是最低的,如果系统越来越繁忙,压力越来越大,那么自动回收的线程运行的机会就会变小,甚至不会运行,结果是内存不能释放;
不建议使用编程调用System.gc()是因为垃圾收集时,系统会挂起,而编程调用一般是定时处理的,并且用户线程度高于5,即肯定会被运行(这个我用过,回收效果明显,做过j2me的朋友肯定会有更深的体会的),所以系统也会定时地被挂起,也就影响到了系统的响应,但并不明显。

二、综上所述,在适当的时候调用System.gc()两次是合适的,注意“两次”只是个人经验,大家可以试验。

三、另外,sun jvm只适合开发环境,即启动速读比较快,
在产品或生产环境下,我建议大家使用jrocket vm,从bea的官方网站上可以免费下载;这个vm不仅具有并行和分代垃圾收集的功能(即垃圾收集线程和用户线程具有同等的优先级,并且可以同时运行,不会挂起系统;垃圾收集具有更细的粒度级),并且可以大幅度提高系统运行性能。

客户服务中心信箱:[email protected] [email protected] 网站地图

声明

合作伙伴: