摘要:本文讲述4种查看java对象所占内存大小的方法
本文分享自华为云社区《》,作者:xiewenci。
计算java对象所占内存大小
1.使用jdk8自带API
使用这种jdk8方式时,Open JDK 不是天然支持的,需要设置一下环境变量
System.setProperty(&34;,&34;);System.out.println(ObjectSizeCalculator.getObjectSize(3L));复制
结果如下:
2. 借助org.apache.lucene工具类
当一个对象有多个属性,需要计算整个对象的大小时,可以借助org.apache.lucene工具类
先引入maven坐标
测试代码:
结果如下:
3. 借助jol工具类
如果需要查看某个对象的详细内存分布,可以借助jol工具类,不过这种当对象中内嵌其他对象时,只能计算ClassLayout方法中这个object对象所占内存的大小
先导入maven坐标
测试代码:
结果如下:
4.java对象内存分布
最后,计算一个对象占用多大内存,需要提前了解java对象的布局。