從檔案中讀取 100w行一樣的字元串,加到list,評測時間和記憶體和gc。
場景
參數
時間
記憶體
gc
場景一
-Xmx128m
224
65346296
2次minor gc
-Xmx32m
oom
場景二
334
29105000
1563
19714208
12次minor gc
場景三
222
29511112
2次minior gc
1751
24794176
在記憶體足夠的情況下,可以是用guava Interner,或者String.intern,或者不用,三者差別不大
在記憶體有限的情況下,可以考慮 guava Interner,或者String.intern
String.intern隻能用在String對象,而guava Interner可以任何非空的object
guava Interner的對象可以是弱引用或是強引用放在記憶體中,而String.intern存放在常量表中(7以後也放在堆中)