Пример JVM getObjectSize

у меня есть некоторые проблемы с получением размера объекта в JVM. JDK 5 предлагает интерфейс Instrumentation для расчета с помощью premain() функция, но я не знаю, как использовать его.

может кто-нибудь помочь мне?

4 ответов


самое простое и эффективное решение-использовать очень маленькие sizeof библиотека

<dependency>
    <groupId>com.carrotsearch</groupId>
    <artifactId>java-sizeof</artifactId>
    <version>0.0.3</version>
</dependency>

вам нужно использовать это http://grepcode.com/file/repo1.maven.org/maven2/com.carrotsearch/java-sizeof/0.0.2/com/carrotsearch/sizeof/RamUsageEstimator.java?av=f

shallowSizeOf () способ или sizeOf ()

Это действительно самое простое быстрое решение, которое я нашел по этой теме до сих пор...


еще один проект с открытым исходным кодом, который может помочь вам Jamm который также использует агент JVM.


здесь у нас есть очень хорошие статьи Дастин Маркс что я могу посоветовать тебе .

http://java.dzone.com/articles/estimating-java-object-sizes


возможно, Вам будет полезно использовать MemoryMeasurer библиотека, который упаковывает простое измерение памяти в относительно простой API. (Альтернативно, вы можете посмотреть его исходный код, чтобы увидеть, как он использует инструментарий.)