hashmap value占用空间大小_java-测量和监视大型HashMap的大小
首先,有一篇来自Alexey Shipilev(Oracle的前JVM工程师,现在在Redhat的)的this篇很棒的文章,解释说这并不是那么容易.
Java中的每个对象都有两个标头,它们的大小可以取决于平台或jvm的启动配置(UseCompressedOops).
然后,在字段和对象自身之间进行填充和对齐(8字节对齐).然后,有一个JVM根本不会显示的空间,因为它不能显示或确实需要显示.
所有这些事情使得计算某个对象在堆中的大小变得有些微不足道.幸运的是存在JOL.它甚至也有很多样本…这是一个小例子,假设您有这样一个类:
static class MyValue {
private final int left;
private final String right;
public MyValue(int left, String right) {
this.left = left;
this.right = right;
}
}
然后创建一个HashMap:
Map map = new HashMap<>();
System.out.println("empty map = " + GraphLayout.parseInstance(map).totalSize());
MyValue one = new MyValue(1, "one");
System.out.println("one = " + GraphLayout.parseInstance(one).totalSize());
map.put("one", one);
System.out.println("map after one = " + GraphLayout.parseInstance(map).totalSize());
MyValue two = new MyValue(1, "two");
map.put("two", two);
System.out.println("map after two = " +
GraphLayout.parseInstance(map).totalSize());
hashmap value占用空间大小_java-测量和监视大型HashMap的大小相关推荐
- java 文件 缓冲区大小_Java web 中文件下载遇到的缓冲大小问题
刚才自己做一个小例子,就是在android端点击一个button,然后从服务器端下载文件到手机SD卡.结果却遇到了问题,刚开始挺兴奋的,因为自己做的可以下载下来文件了,但是自习看才发现有问题,那就是下 ...
- java swing 如何设置按钮大小_Java Swing - Button不改变宽度的大小
我有一个使用FlowLayout的JPanel和一个垂直排列组件的Box. 我想要的是将其他组件的宽度大小设置为"删除列"按钮. 我试着线Java Swing - Button不改 ...
- 调整java字体大小_Java自动调整到Windows 7的字体大小调整
这有两个部分: >获取您的组件,字体等 规模化 >获取您的布局 规模 对于Swing来说,第一部分很容易 – 一切都从一个电话开始. UIManager.setLookAndFeel(UI ...
- java iconiamge大小_java – 自动将ImageIcon缩放到标签大小
这是一个棘手的问题.您强调了使用JLabel显示图像的事实,这是标准的处理方式,但是,JLabel是一个复杂的小野兽,具有文本,图标和文本对齐和定位. 如果您不需要所有额外功能,我只需创建一个能够绘制 ...
- java word 纸张大小_Java 设置 Word 页边距, 页面大小, 页面方向, 页面边框
Java 设置 Word 页边距, 页面大小, 页面方向, 页面边框 本文将通过 Java 示例介绍如何设置 Word 页边距 (包括上, 下, 左, 右), 页面大小 (可设置 Letter/A3/ ...
- java bytebuffer 大小_java – 为什么DirectByteBuffer.array()有额外的大小?
我的代码是: if (frameRGBABuffer == null) { frameRGBABuffer = ByteBuffer.allocateDirect(cameraHeight * cam ...
- new hashmap 初始大小_害怕面试被问HashMap?这一篇就搞定了
来源于公众号编码之外 , 作者庆哥小白 话说以下这篇与本篇配合阅读最佳哦(jdk1.8为主) 搞定HashMap 作为一个Java从业者,面试的时候肯定会被问到过HashMap,因为对于HashMap ...
- 如何用Procmon.exe来监视SQLSERVER的logwrite大小
如何用Procmon.exe来监视SQLSERVER的logwrite大小 在微软亚太区数据库技术支持组官方博客里面,你会发现很多篇文章都用到了Procmon.exe这个工具 今天我也介绍一下这个工具 ...
- Java计算一个对象所占内存大小_Java程序计算各种对象所占内存的大小的方法
System.out.println("--- Memory Usage:"); /*打印一行字符串---Memory Usage*/ Runtime rt=Runtime.get ...
最新文章
- ECCV2020最佳论文解读之递归全对场变换(RAFT)光流计算模型
- Tomcat8中的并发ConcurrentDateFormat的实现
- 效率达CPU一万倍、内含800万神经元:英特尔发布神经形态芯片超算
- python 文件加密_python实现文件快照加密保护的方法
- Docker使用-Hello World
- (转)Managed DirectX +C# 开发(入门篇)(二)
- IIS添加MIME类型支持 rmvb 等播放
- 用opencv进行图像处理-之用matplotlib显示
- IEEE Fellow 2020名单揭晓!BDTC 2019重磅嘉宾周伯文、叶杰平、陈宝权上榜
- Win10 添加传统照片查看器
- 22. vCenter上解决”此主机当前没有管理网络冗余“的警告
- 苹果开场铃声 android,App Store 上的“手机铃声制作 - 铃声设置助手大全”
- 休闲娱乐 - 减肥餐
- AUTOSAR MCAL PWM
- svn合并时候的诡异事件
- 问题解决:VScode在使用中文输入法时出现vim insert模式变成vim normal的奇怪现象( jj 映射成esc)
- 哔哩哔哩笔试 01串求最长1子串的长度
- 国产操作系统能不能完全替代windows,普及大众?
- 2023年4月中国数据库排行榜:达梦厚积薄发夺探花,亚信、星环勇毅笃行有突破
- iOS开发之swift资料大全