I agree that. So I print out the GC below. Actually it is only parnew gc, and it is fast. The problem is that I can get same running results every time.
975 millis(0 seconds) for 10000
3111 millis(3 seconds) for 10000
8655 millis(8 seconds) for 10000
[GC [ParNew: 178688K->22272K(200960K), 0.0696684 secs] 178688K->43929K(502016K), 0.0697069 secs] [Times: user=0.06 sys=0.02, real=0.06 secs]
14754 millis(14 seconds) for 10000
20959 millis(20 seconds) for 10000
24037 millis(24 seconds) for 10000
27446 millis(27 seconds) for 10000
29634 millis(29 seconds) for 10000
32394 millis(32 seconds) for 10000
[GC [ParNew: 200960K->21667K(200960K), 0.0323460 secs] 222617K->65106K(502016K), 0.0323801 secs] [Times: user=0.06 sys=0.01, real=0.05 secs]
10452 millis(10 seconds) for 10000
5871 millis(5 seconds) for 10000
3995 millis(3 seconds) for 10000
2588 millis(2 seconds) for 10000
1529 millis(1 seconds) for 10000
[GC [ParNew: 200355K->5416K(200960K), 0.0005048 secs] 243794K->48856K(502016K), 0.0005367 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
1110 millis(1 seconds) for 10000
867 millis(0 seconds) for 10000
679 millis(0 seconds) for 10000
503 millis(0 seconds) for 10000
322 millis(0 seconds) for 10000
takes 190029 millis (190 seconds) to serialize 200000 message
Heap
par new generation total 200960K, used 184104K [0x10040000, 0x1da40000, 0x1da40000)
eden space 178688K, 100% used [0x10040000, 0x1aec0000, 0x1aec0000)
from space 22272K, 24% used [0x1c480000, 0x1c9ca360, 0x1da40000)
to space 22272K, 0% used [0x1aec0000, 0x1aec0000, 0x1c480000)
concurrent mark-sweep generation total 301056K, used 43439K [0x1da40000, 0x30040000, 0x30040000)
concurrent-mark-sweep perm gen total 16384K, used 4282K [0x30040000, 0x31040000, 0x34040000)