我在获取JVM中对象的大小时遇到了一些麻烦。 JDK 5提供了一个Instrumentation
接口来计算premain()
函数,但我不知道如何使用它。
有人能帮助我吗?
答案 0 :(得分:10)
最简单,最有效的解决方案是使用非常小的 sizeof 库
<dependency>
<groupId>com.carrotsearch</groupId>
<artifactId>java-sizeof</artifactId>
<version>0.0.3</version>
</dependency>
shallowSizeOf()方法或 sizeOf()
到目前为止,这是我在这个主题上找到的最简单的快速解决方案......
答案 1 :(得分:1)
另一个可以帮助您的开源项目是Jamm,它也使用JVM代理。
答案 2 :(得分:0)
我们有一篇非常好的文章 Dustin Marx ,我可以推荐你。
答案 3 :(得分:0)
您可能会发现使用MemoryMeasurer library会很有帮助,它将简单的内存测量打包成一个相对简单的API。 (或者,您可以查看其源代码以了解它如何使用检测。)