使用序列化查找Java对象大小

时间:2015-01-06 06:51:44

标签: java serialization

我一直在努力寻找java对象的确切大小。我尝试过不同的选项,而且没有正确的选项。然后我尝试序列化对象并找到序列化对象的大小。序列化对象的大小非常小,就像几千字节一样。所以我怀疑我的方法。我想知道这是正确的方法吗?你有没有人在这个程序中看到的问题?请帮忙......

1 个答案:

答案 0 :(得分:1)

您可以使用ObjectOutputStreamByteArrayOutputStream

将对象转换为字节数组
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;
}