public class ByteSizeUtils {
public static int getByteSize(List<?> datas) {
int byteSize=0;
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream os = new ObjectOutputStream(baos);
os.writeObject(datas);
os.close();
byteSize=baos.size();
baos.close();
} catch (Exception e) {
e.printStackTrace();
}
return byteSize;
}
public static int getByteSize(Object data){
int byteSize=0;
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream os = new ObjectOutputStream(baos);
os.writeObject(data);
os.close();
byteSize=baos.size();
baos.close();
} catch (Exception e) {
e.printStackTrace();
}
return byteSize;
}
public static void main(String[] args) throws Exception{
int n = 200;
List<Integer> list = new LinkedList<Integer>();
for (int i = 0; i < n; i++) {
list.add(i);
}
System.out.println(getByteSize(list));
}
}
计算List类集、数组、Map及常用数据类型等占用字节大小。
最新推荐文章于 2022-12-01 21:25:19 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)