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的值