2014-09-17 2 views
0

Integer Class Object의 크기를 어떻게 판단 할 수 있습니까? 예를 들면 다음과 같습니다. Integer i = new Integer (10); 그래서 위의 경우에서 'i'의 크기는 무엇입니까? 유효합니까 ??Integer Class Object의 크기를 어떻게 알 수 있습니까?

+0

어떤 프로그래밍 언어를 사용합니까? "크기"란 무엇을 의미합니까? –

+0

Java와 관련이 있습니다. 크기는 런타임시 Integer Object가 차지하는 메모리 양을 나타냅니다. – katanor

+0

시나리오에 따라 0 일 수도 있고 매우 클 수 있습니다. 왜 당신에게 중요합니까? –

답변

1

Java에는 -128과 128 사이의 정수 상수가 있습니다.이 범위의 정수 값은 추가 공간을 차지하지 않습니다.

해당 범위를 벗어나는 정수 값은 개체 헤더 + 4 바이트만큼의 공간을 차지합니다. 그 크기는 JVM 및 설정에 따라 다릅니다. 프로그래밍 방식으로 크기를 측정하려면 http://sourceforge.net/projects/sizeof 또는 https://code.google.com/p/memory-measurer을 확인하십시오.

편집 : Integer i = new Integer(10);이 아니며은 개체 상수 풀을 사용합니다. 그렇기 때문에 구체화 할 때 new Integer(x) 대신 항상 Integer.valueOf(x)을 사용해야합니다. autoboxing은 이미 올바른 작업을 수행하므로 Integer i = 10도 상수 풀을 사용합니다.

+0

감사합니다 llogiq .. – katanor

관련 문제