Error message here!

Hide Error message here!

忘记密码?

Error message here!

请输入正确邮箱

Hide Error message here!

密码丢失?请输入您的电子邮件地址。您将收到一个重设密码链接。

Error message here!

返回登录

Close

[java]测试static的map的内存

ouyida3 2020-03-09 11:17:14 阅读数:14 评论数:0 点赞数:0 收藏数:0

import com.carrotsearch.sizeof.RamUsageEstimator;
import lombok.extern.slf4j.Slf4j;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@Slf4j
public class MemoryTest {
static Map<String, String> map;// map是否为static,对里面的String和Date的内存释放没有什么影响
public static void main(String\[\] args) throws InterruptedException {
Map<String, String> map;
while (true) {
map = new HashMap<>();
for (int i = 0; i < 100000; i++) {
map.put(UuidUtil.get32UUID(), new Date().toString());
}
// 1w次为2368 K,内存跳到100M就稳定
// 10w次为23680 K,内存要跳到250M、500M、750M才稳定
log.info("Data Size:{} K", RamUsageEstimator.sizeOf(map)/1024);
// log.info("Data Size:{} M", RamUsageEstimator.sizeOf(map)/1024/1024);
Thread.sleep(50000);
}
}
}

image.png
image.png

用static

image.png

没用static

image.png

版权声明
本文为[ouyida3]所创,转载请带上原文链接,感谢
https://segmentfault.com/a/1190000021955624