2015-01-06 1 views
0

Java 객체의 정확한 크기를 찾는 데 어려움을 겪고 있습니다. 나는 다른 옵션을 시도하고 그들 중 일부는 제대로 작동하지 않습니다. 그런 다음 객체를 직렬화하고 직렬화 된 객체의 크기를 찾으려고했습니다. 직렬화 된 객체의 크기는 몇 킬로 바이트와 같이 매우 작습니다. 그래서 나는 나의 방법을 의심했다. 올바른 방법인지 궁금 해서요? 이 절차에서 사람들에게 보이는 문제가 있습니까?직렬화를 사용하여 Java 객체 크기를 찾으려면

+3

는 "크기"를 정의합니다. – immibis

+0

가능한 복제본 http://stackoverflow.com/questions/52353/in-java-what-is-the-best-way-to-determine-the-size-of-an-object –

+1

개체를 생각하게 만드는 이유 몇 킬로바이트보다 큽니까? – EJP

답변

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; 
} 
관련 문제