JOL:Java Object Layout 分析JVM对象布局

48 阅读1分钟

官方代码地址:github.com/openjdk/jol

JOL能干什么

JOL (Java Object Layout)是一个小型工具箱,用于分析jvm中的对象布局。这些工具大量使用不安全、JVMTI和Serviceability Agent (SA)来解码实际的对象布局、占用空间和引用。这使得JOL比依赖堆转储、规范假设等的其他工具要准确得多。

Maven依赖

<dependency>
    <groupId>org.openjdk.jol</groupId>
    <artifactId>jol-core</artifactId>
    <version>0.10</version>
</dependency>

IDEA 插件支持

JOL (Java Object Layout)是分析jvm中对象布局方案的工具。例如,在64x处理器上的HotSpot VM中,一个空字符串占用40字节,即字符串对象本身占用24字节,内部空字符数组占用16字节。
该插件是一个用于JOL的GUI,允许您估计对象占用了多少内存。
将光标设置为类名,然后按“代码/显示对象布局”,你将看到一个带有布局信息的右侧面板。

添加插件方式:Settings/Preferences > Plugins > Marketplace > Search for "JOL" > Install Plugin

图片.png

应用实战

github.com/openjdk/jol…

zhuanlan.zhihu.com/p/368323278

zhuanlan.zhihu.com/p/368505776

zhuanlan.zhihu.com/p/368810595

zhuanlan.zhihu.com/p/385594273

www.cnblogs.com/flydean/p/j…