java计算大对象工具
分析对象的大小方法,本文说最简单的。去下载lucene-core-8.3.1.jar。注意最好就下这个版本的 因为不同的版本函数用法不一样把这个包放到项目的classpath里,参考如下的代码来输出对象大小
List<InfoModel> objectList=InfoModel.findAll();
long size= RamUsageEstimator.sizeOfCollection(objectList);
System.out.println("集合的大小"+size);
Map<String,Object> map= new HashMap();
map.put("zhangsan", new JVMTest());
System.out.println("map的大小"+RamUsageEstimator.sizeOfMap(map));
String str="1234566789";
System.out.println("字符串的大小"+RamUsageEstimator.sizeOf(str));
System.out.println("对象的大小"+RamUsageEstimator.sizeOfObject(new KafkaInfoModel()));
byte [] b4 = new byte[7 * 1024 * 1024];
System.out.println("字节数组的大小"+RamUsageEstimator.sizeOf(b4));
运行的结果可以参考如下
集合的大小7810704
map的大小392
字符串的大小64
对象的大小256
字节数组的大小7340048