查看java 对象的大小

最近有点忙,上班烦了,所以抽时间去论坛看了看 ,看到一个用来显示对象大小的工具JOL (Java Object Layout),所以试了一下 。使用方法我找到的有两个,一个是下载core包,引入到类中使用,还有一种是下载cli-full包,使用命令行操作,我选择命令行操作.....

  1. 下载工具 jol-cli-0.8-full.jar
    注意一定要下载 jol-cli-版本号-full.jar 的完整版本才能使用。
  2. 打开命令行,进入到jol-cli-0.8-full.jar所在目录
  • 查看jdk中类
// 查看HashMap
java -jar jol-cli-0.8-full.jar internals java.util.HashMap
image.png
  • 查看自己写的类,把类编译后和jol 放在一起
// 注意这里我没有加package , 后面执行命令时就没有指定包路径
import java.util.HashMap;
import java.util.Map;
public class ObjectSize {
    public volatile long value = 0L;
    public long p1, p2, p3, p4, p5, p6;
    public Map map = new HashMap(50);
    public static void main(String[] args) {
    }
}
image.png
// 查看自己写的类
java -jar jol-cli-0.8-full.jar internals java -jar jol-cli-0.8-full.jar internals -cp . ObjectSize
image.png

通过这个工具可以看到对象头,属性所占的大小

参考:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容