课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
Java虚拟机是程序员在学习Java编程开发语言的时候需要重点掌握的一个计算机编程技术之一,而本文我们就通过案例分析来了解一下,Java虚拟机调优策略都有哪些。
降低MinorGC频率
增大新生代空间,即调优方案二。新生代空间增大,也就意味着未死的对象会增多,如果未进入老年代,则下次GC回收对象会变多,若进入老年代,同时也会影响下次FullGC。
降低FullGC的频率
由于堆内存空间不足或老年代对象太多,会触发FullGC,频繁的FullGC会带来上下文切换,增加系统的性能开销。
减少创建大对象
在平常的业务场景中,我们一次性从数据库中查询出一个大对象用于web端显示。比如,一次性查询出60个字段的业务操作,这种大对象如果超过年轻代大对象阈值,会被直接创建在老年代,即使被创建在了年轻代,由于年轻代的内存空间有限,通过MinorGC之后也会进入到老年代。这种大对象很容易产生较多的FullGC。
增大堆内存空间
在堆内存不足的情况下,增大堆内存空间,且设置初始化堆内存为大堆内存,也可以降低FullGC的频率。
选择合适的GC回收器
如果要求每次操作的响应时间必须在500ms以内。这个时候我们一般会选择响应速度较快的GC回收器,堆内存比较小的情况下(小于6G)选择CMS(ConcurrentMarkSweep)回收器,堆内存比较大的情况下(大于8G选择)G1回收器。
总结
GC调优是个很复杂、很细致的过程,要根据实际情况调整,不同的机器、不同的应用、不同的性能要求调优的手段都是不同的,这些都需要平时去积累,去观察,去实践。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。