代码改变世界

JVM性能调休-自学

2023-02-11 10:02  ly772186472  阅读(59)  评论(0编辑  收藏  举报
GC是垃圾收集器。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一: 
System.gc() 
Runtime.getRuntime().gc() 
gc 虽可清理,但非立刻清理

 

一、jvm内存调优

主要的目的是减小GC的频率和Full GC的次数。

1.Full GC  

会对整个堆进行整理,包括Young、Tenured和Perm。Full GC由于须要对整个堆进行回收,因此比较慢,所以应该尽量减小Full GC的次数。数组

2.致使Full GC的缘由缓存

1)年老代(Tenured)被写满服务器
调优时尽可能让对象在新生代GC时被回收、让对象在新生代多存活一段时间和不要建立过大的对象及数组避免直接在旧生代建立对象 。并发
2)持久代Pemanet Generation空间不足jvm
增大Perm Gen空间,避免太多静态对象 , 控制好新生代和旧生代的比例高并发
3)System.gc()被显示调用工具
垃圾回收不要手动触发,尽可能依靠JVM自身的机制