专栏名称: 石杉的架构笔记
专注原创、用心雕琢!十余年BAT一线大厂架构经验倾囊相授
目录
相关文章推荐
君哥说房  ·  2025番禺最值得买的房子原来是它 ·  昨天  
君哥说房  ·  2025番禺最值得买的房子原来是它 ·  昨天  
京房早八点  ·  北京楼市:买房人开始着急了 ·  2 天前  
51好读  ›  专栏  ›  石杉的架构笔记

ArrayList 插入1000万条数据之后,我怀疑了jvm...

石杉的架构笔记  · 公众号  ·  · 2019-10-26 10:10

正文


扫描下方海报 试读


本文来源:占小狼的博客



"狼哥,我发现新大陆了,等会发你代码" "咋了,这么激动" "等会..."


  1. List<Integer> list0 = new ArrayList<Integer>();




  2. long start0 = System.currentTimeMillis();



  3. for (int i = 0; i < 10000000; i++) {



  4. list0.add(i);



  5. }



  6. System.out.println(System.currentTimeMillis() - start0);




  7. long start1 = System.currentTimeMillis();



  8. List <Integer> list1 = new ArrayList<Integer>();



  9. for (int i = 10000000; i < 20000000; i++) {



  10. list1.add(i);



  11. }



  12. System.out.println(System.currentTimeMillis() - start1);


"我在一个ArrayList中连续插入1千万条数据,结果耗时不一样,分别是 2346 797 没搞明白"

我看了一眼,就知道这小伙底盘不稳。

"你加个 -XX:+PrintGCDetails -XX:+PrintGCDateStamps ,看下第一次是不是有Full GC"

"明白,我再试试看"

几分钟后...

  1. 2019-09-28T09:49:07.519-0800: [GC (Allocation Failure) [PSYoungGen: 54888K->10738K(76288K)] 54888K->36180K(251392K), 0.0520111 secs] [Times: user=0.24 sys= 0.03, real=0.06 secs]

  2. 2019-09-28T09:49:07.590-0800: [GC (Allocation Failure) [PSYoungGen: 74092K->10736K(141824K)] 99534K->80803K(316928K), 0.0693607 secs] [Times: user=0.39 sys=0.03, real=0.06 secs]

  3. 2019-09-28T09:49:07.751-0800: [GC (Allocation Failure) [PSYoungGen: 141808K->10736K(141824K)] 211875K->188026K(320512K), 0.1829926 secs] [Times: user=1.02 sys=0.10, real=0.18 secs]

  4. 2019 -09-28T09:49:07.934-0800: [Full GC (Ergonomics) [PSYoungGen: 10736K->0K(141824K)] [ParOldGen: 177290K->171620K(402432K)] 188026K->171620K(544256K), [Metaspace: 3062K->3062K(1056768K)], 1.8672996 secs] [Times: user=5.96 sys=0.03, real=1.87 secs]

  5. 2365

  6. 2019-09-28T09:49:09.832-0800: [GC (Allocation Failure) [PSYoungGen: 129254K->10738K(196608K)] 300875K->282609K(599040K), 0.1039307 secs] [Times: user=0.74 sys=0.07, real=0.10 secs]

  7. 2019-09-28T09:49:09.936-0800: [Full GC (Ergonomics) [PSYoungGen: 10738K->0K(196608K)] [ParOldGen: 271871K->36047K(372736K)] 282609K->36047K(







请到「今天看啥」查看全文