Java计算对象占用的内存大小

  1. 引入jar包
    • Gradle

      1
      implementation "com.carrotsearch:java-sizeof:${javaSizeOf}"
    • Maven

      1
      2
      3
      4
      5
      6
      <!-- https://mvnrepository.com/artifact/com.carrotsearch/java-sizeof -->
      <dependency>
      <groupId>com.carrotsearch</groupId>
      <artifactId>java-sizeof</artifactId>
      <version>0.0.5</version>
      </dependency>
  2. 代码
    1
    2
    String[] arrays = new String[100_0000];
    System.out.println("占用内存:" + RamUsageEstimator.humanSizeOf(arrays));
    执行后输出结果
    1
    占用内存:3.8 MB