一些常见的,可以提高垃圾回收效率的方法:
-
对象不再使用时,及时将它显式置为null,方便垃圾收集器快速判断
-
少用 System.gc(),因为它会触发Full GC
-
少用静态变量。静态变量会作为GC Roots,永远不会回收。
-
对于String的操作,使用StringBuilder或者StringBuffer,不要直接拼接字符串。因为会在堆上产生很多额外的字符串对象
-
分散对象创建和销毁的时机,不要突然创建或销毁大量对象,因为这样可能会触发Full GC
-
少用finalize()方法,会加重垃圾回收的负担
-
善用弱引用与软引用类型,不要全部使用强引用
-
能用基本数据类型,就不要使用包装类型。因为包装类型占用了更大的内存
-
增大堆内存,可以减少垃圾回收的频率。