如何减少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的值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值