
在对内存要求苛刻的场景:想办法提高对象的回收效率,多回收掉一些对象,腾出更多内存。在CPU使用率高的情况下:降低高并发时垃圾回收的频率,让CPU更多的去执行你的业务而不是垃圾回收。 二、垃圾回收发生在哪些区域?
堆、方法区
三、对象在什么时候能够被回收?引用技术器(处理循环引用存在问题)可达性分析:以根对象(GC Roots)作为起点向下搜索,走过的路径被称之为引用链(Reference Chain),如果某个对象到根对象没有引用链相连时,就认为这个对象是不可达的,可以回收。
一个对象不可达,也不一定会被回收
避免使用finalize()方法, *** 作不当可能会导致问题。finalize()优先级低,何时会被调用无法确定,因为什么时间发生GC不确定。建议使用try…catch…finally来替代finalize()**
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)