java查看concurrenthashmap占多大内存

2025-05-03 00:20:22
推荐回答(1个)
回答1:

Java代码 收藏代码
public class BattleTest {
static int num=1_000_000;

@Test
public void testHashMap() throws Exception{
List> list=new ArrayList<>(num);
for (int i = 0; i < num; i++) {
Map passedMap = new HashMap<>();
list.add(passedMap);
}

}

@Test
public void testConcurrentHashMap() throws Exception{
List> list=new ArrayList<>(num);
for (int i = 0; i < num; i++) {
Map passedMap = new ConcurrentHashMap<>();
list.add(passedMap);
}

}
}

我100万个hashMap吃了25M内存,但是用了ConcurrentHashMap吃了250M内存,
我500万个hashMap吃了250M内存,但是用了ConcurrentHashMap吃了1.1G内存,