有时候我们需要对比看那种数据结构的Java对象占用的内存比较少,这时候我们就需要查看内存大小。
借助org.apache.lucene工具类
当一个对象有多个属性,需要计算整个对象的大小时,可以借助org.apache.lucene工具类
先引入maven坐标
<dependency><groupId>org.apache.lucene</groupId><artifactId>lucene-core</artifactId><version>4.0.0</version></dependency><dependency><groupId>mons</groupId><artifactId>commons-lang3</artifactId><version>3.12.0</version></dependency>
一个byte由8 bits组成,是数据存储的基础单位.
bit(比特)是表示信息的最小单位.
//按byte为单位查看System.out.println("map size 100, value is " + RamUsageEstimator.sizeOf(map));//按kb位单位查看System.out.println("map size 100, value is " + RamUsageEstimator.humanSizeOf(map));