자바 대상 공간 점용 은 어떻게 계산 합 니까?
1597 단어 자바
실례 대상 이 얼마나 많은 공간 을 차지 하 는 지 알 기 위해 서 는 먼저 자바 의 데이터 형식 을 알 아야 한다.
자바 데이터 형식 은 참조 데이터 형식 과 기본 데이터 형식 으로 나 뉜 다.
인용 데이터 형식 은 인용 변수(refvar)와 가리 키 는 실제 대상 두 부분 으로 구성 되 어 있 습 니 다.
인용 변 수 는 기본 데이터 형식 으로 실제 대상 을 가리 키 는 메모리 주 소 를 참조 하여 실제 대상 을 더미 에 저장 합 니 다.
이것 은 자바 방법의 매개 변수 전달 은 값 만 전달 하 는 이 유 를 설명 한다.대상 을 가리 키 는 메모리 주 소 를 방법 매개 변수 중의 부분 인용 변수 에 할당 하 는 것 일 뿐 C+의 인용 전달 과 다 르 기 때문이다.
9 가지 기본 데이터 형식
유형
크기
boolean
1B
byte
1B
char
2B
short
2B
int
4B
long
8B
float
4B
double
8B
refvar
4B
왜 boolean 타 입 은 1B 이지 1bit 가 아 닙 니까?
그것 은 컴퓨터 의 최소 데이터 처리 단위 가 바이트 이기 때문에 불 형식 은 실제 1 자리 만 사용 하지만 다른 7 자 리 를 0 으로 보충 해 1 바이트 에 채 워 야 한다.
계산 을 시작 하기 전에 몇 가지 개념 을 알 아야 한다.
기본 개념
계산 을 시작 하기 전에 몇 가지 개념 을 알 아야 한다.
대상 헤드
두 부분 포함:
4.567917.메타 정보(메타 정 보 는 메타 데이터 Klass 를 가리 키 는 참조),인용 은 바로 4B 를 차지 하 는 것 이다
정렬 충전
대상 의 저장 공간 분배 단 위 는 8 바이트 이기 때문에 다시 말 하면 분 배 된 공간 은 8B 의 배수 여야 하 며 12B 만 차지 하면 16B 도 분배 된다.
계산 공간 점용
class Demo {
// +12B
// +1B
byte b;
// +4B
Object obj1;
// +4B , 。
Object obj2 = new Object();
// +4B ,
double[] d = new double[1000];
}
이렇게 계산 하면 25B 이 고 정렬 충전 원칙 에 따라 32B 를 분배 해 야 한다.
참고:효율 적 인 자바 개발 매 뉴 얼 코드
본 고 를 읽 어 주 셔 서 감사합니다. 제 공중 번 호 를 주목 하면 최신 추 송 을 받 을 수 있 습 니 다.그리고 당신 의 관심 도 저 에 게 창작 을 계속 하도록 격려 할 것 입 니 다.감사합니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.