网站建设怎样中英文,网站备案是空间备案还是域名备案,一人之下王野,手机网站开发有前途今天逛脉脉#xff0c;看见匿名区有人说java中把对做置null#xff0c;这种做法很菜#xff0c;不能加速垃圾回收#xff0c;但是我看到就觉得呵呵了#xff0c;我是觉得可以加速置null对象回收的。测试的过程中#xff0c;费劲的是要指定一个合理的测试堆大小#xff0…今天逛脉脉看见匿名区有人说java中把对做置null这种做法很菜不能加速垃圾回收但是我看到就觉得呵呵了我是觉得可以加速置null对象回收的。测试的过程中费劲的是要指定一个合理的测试堆大小然而针对的JDK不同版本不同指定的堆大小也不同测试出的效果有些不同报的内存堆栈错误信息不一致但是可以验证把对象置null,是能加速垃圾回收的。本测试程序测试在jdk7的基础上。1. 设定堆的大小信息及GC打印信息-Xms2M -Xmx3M -XX:PermSize2M -XX:MaxPermSize4M -XX:PrintGCTimeStamps -XX:-PrintClassHistogram - XX:PrintHeapAtGC -verbose:gc -XX:PrintGCDetails -XX:PrintGCTimeStamps -XX:PrintGCApplicationStoppedTime - XX:HeapDumpOnOutOfMemoryError2.在main方法中模拟出一个占内存很大的list对象至少保证运行方法中单个list的大小不会挤爆内存public class TestGC {public static void main(String[] args) throws InterruptedException {List list new ArrayList();for (int i 0; i 100000; i) {String a new String(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa);list.add(a);}}}调整堆的大小保证运行不会报错堆栈溢出错误接着看下面的代码public class TestGC {public static void main(String[] args) throws InterruptedException {List list new ArrayList();for (int i 0; i 100000; i) {String a new String(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa);list.add(a);}//list null;Thread.sleep(1000);List list2 new ArrayList();for (int i 0; i100000; i) {String a new String(bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb);list2.add(a);}//list2 null;Thread.sleep(1000);List list3 new ArrayList();for (int i 0; i 100000; i) {String a new String(cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc);list3.add(a);}//list3 null;Thread.sleep(1000);List list4 new ArrayList();for (int i 0; i100000; i) {String a new String(dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd);list4.add(a);}//list4 null;Thread.sleep(1000);List list5 new ArrayList();for (int i 0; i 100000; i) {String a new String(eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee);list5.add(a);}//list5 null;Thread.sleep(1000);List list6 new ArrayList();for (int i 0; i100000; i) {String a new String(fffffffffffffffffffffffffffffffffffffffffffffffffffffffff);list6.add(a);}//list6 null;System.out.println(ÔËÐгɹ¦¡£);}}运行中内存溢出了错误信息如下3. 见证奇迹的时刻到了看看到底有木有用把代码中的注释放开