我一直在努力寻找 java 对象的确切大小。我尝试了不同的选项,但没有一个能正常工作。然后我尝试序列化该对象并找到序列化对象的大小。序列化对象的大小非常小,只有几千字节。所以我对我的方法产生了怀疑。我想知道这是正确的方法吗?你们在这个过程中看到什么问题吗?请帮忙...
最佳答案
您可以使用 ObjectOutputStream
和 ByteArrayOutputStream
将对象转换为字节数组:
public static int sizeof(Object obj) throws IOException {
ByteArrayOutputStream byteOutputStream = new ByteArrayOutputStream();
ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteOutputStream);
objectOutputStream.writeObject(obj);
objectOutputStream.flush();
objectOutputStream.close();
return byteOutputStream.toByteArray().length;
}
关于java - 使用序列化查找 Java 对象大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27793550/