Java对象大小统计

836 阅读1分钟
  1. 直接使用工具类查看大小
    <dependency>
            <groupId>com.carrotsearch</groupId>
            <artifactId>java-sizeof</artifactId>
            <version>0.0.2</version>
    </dependency>
    public static void main(String[] args) {
        List<A> list = Lists.newArrayList();
        for (int i = 0; i < 10000; i++) {
            A a = new A();
            a.setFiscalYear("2018");
            a.setUnit("kgsdgswetasFS");
            a.setFcurCode("");
            a.setType("b");
            a.setYearBeginDebit(new BigDecimal("9999999999.11"));
            a.setYearBeginCredit(new BigDecimal("9999999999.11"));
            a.setId(0);
            list.add(a);
        }
        System.out.println(RamUsageEstimator.sizeOf(list.get(0)));
        System.out.println(RamUsageEstimator.sizeOf(list));
    }

结果:

   1528
   12536536

结果为bytes,再转换为KB、MB