如何减少GC的次数

1.对象不用时最好显示置为NULL

一般而言,为NULL的对象都会被作为垃圾处理,所以将不用的对象置为NULL,有利于GC收集器判定垃圾,从而提高了GC的效率。

2.尽量少使用System,gc()

此函数建议JVM进行主GC,会增加主GC的频率,增加了间接性停顿的次数。

3.尽量少使用静态变量

静态变量属于全局变量,不会被GC回收,他们会一直占用内存

4.尽量使用StringBuffer,而不使用String来累加字符串

5.分散对象创建或删除的时间

集中在短时间内大量创建新对象,特别是大对象,会导致突然需要大量内存,JVM在这种

情况下只能进行主GC以回收内存,从而增加主GC的频率。

6.尽量少用finaliza函数

它会加大GC的工作量。

7.如果有需要使用经常用到的图片,可以使用软引用类型,将图片保存在内存中,而不引起outofmemory

8.能用基本类型入INT就不用对象Integer

9.增大-Xmx的值

猜你喜欢

转载自blog.csdn.net/weixin_43710551/article/details/88971365