JVM getObjectSize示例

fle*_*ure 6 java jvm

我在获取JVM中的对象大小时遇到​​了一些麻烦.JDK 5提供了一个Instrumentation通过premain()函数计算的接口,但我不知道如何使用它.

有谁能够帮我?

And*_*sov 10

最简单,最有效的解决方案是使用非常小的sizeof

<dependency>
    <groupId>com.carrotsearch</groupId>
    <artifactId>java-sizeof</artifactId>
    <version>0.0.3</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

你需要使用这个http://grepcode.com/file/repo1.maven.org/maven2/com.carrotsearch/java-sizeof/0.0.2/com/carrotsearch/sizeof/RamUsageEstimator.java?av=f

shallowSizeOf()方法或sizeOf()

这是我到目前为止在这个主题上找到的最简单的快速解决方案......

  • 以下是该图书馆作者的介绍:http://www.slideshare.net/DawidWeiss/sizeofobject-how-much-memory-objects-take-on-jvms-and-when-this-may-matter?ref=http ://cheremin.blogspot.com/2012/05/how-much-memory-objects-take-on-jvm-and.html (2认同)