>  기사  >  Java  >  JAVA 기본: 자주 혼동되는 두 가지 유형(기본 데이터와 참조 데이터)

JAVA 기본: 자주 혼동되는 두 가지 유형(기본 데이터와 참조 데이터)

php是最好的语言
php是最好的语言원래의
2018-07-26 14:09:541454검색

JAVA의 기본을 배울 때 저처럼 모든 사람들이 항상 기본 데이터 유형과 참조 데이터 유형을 혼동한다고 생각합니다. 참고하실 수 있도록 각각의 특징을 정리했습니다.

1. 기본 데이터 유형

byte: Java에서 가장 작은 데이터 유형으로 메모리에서 8비트(bit), 즉 1바이트를 차지하며 값 범위는 -128~127이며 기본값은 0

short: short 정수형, 메모리에서 16비트, 즉 2byte를 차지, 값 범위 -32768~32717, 기본값 0

int: 정수형, 정수를 저장하는데 사용, 내부적으로 점유 32 비트, 즉 4바이트, 값 범위는 -2147483648~2147483647, 기본값은 0

long: 긴 정수, 메모리에서 64비트를 차지합니다. 즉, 8바이트 -2^63~2^ 63 -1, 기본값 0L

float : 부동 소수점형, 메모리에서 32비트, 즉 4바이트를 차지하며 소수점이 있는 숫자를 저장하는 데 사용됨(double과의 차이점은 float형의 유효한 소수점이 6~7비트만 가능), 기본값 0

double : 배정밀도 부동 소수점형, 소수점으로 숫자를 저장하는 데 사용, 메모리에서 64비트, 즉 8바이트를 차지, 기본값은 0

char : 단일 문자를 저장하는 데 사용되는 문자 유형은 16비트, 즉 2바이트를 차지하며 값 범위는 0~65535, 기본값은 비어 있습니다.

boolean: 부울 유형, 1바이트를 차지하며 사용됩니다. true 또는 False를 결정합니다(두 가지 값, 즉 true, false). 기본값은 false

class

인터페이스 유형

배열 유형

열거입니다. type

Annotation type

3. 차이점

기본 데이터 유형

생성되면 스택에 메모리가 할당되고 값이 스택에 직접 저장됩니다.

참조 데이터 유형

생성되면 먼저 스택의 참조(핸들)에 메모리 조각을 할당해야 하며 객체의 특정 정보는 힙 메모리에 저장되고 참조는 힙 메모리에 저장됩니다. stack은 힙 주소의 개체를 가리킵니다.

예를 들어 name, age 속성과 매개변수가 있는 생성자 메서드를 포함하는 Person 클래스가 있습니다.

Person p = new Person("zhangsan",20);

메모리의 특정 생성 프로세스:

1. 먼저 스택 메모리에 p에 대한 공간을 할당하고

3에 따라 Person 객체에 대한 공간을 할당합니다. Person 클래스에 속성 정의, 객체의 두 속성에 값을 할당합니다.

4. 생성자 메서드를 호출하고 해당 값을 "Tom", 20; 현재 p와 Person 객체 사이에는 연결이 없습니다.) ;

5. 힙 메모리에 있는 Person 객체의 주소를 스택의 p에 할당하면 힙에 있는 객체의 특정 정보를 찾을 수 있습니다. (핸들)을 참조하여 p.

IV. 관련 지식

정적 영역

은 자동 전역 변수와 정적 변수(정적 전역 및 지역 변수 포함)를 저장합니다. 정적 영역의 내용은 전체 프로그램의 수명 주기 동안 존재하며 컴파일 중에 컴파일러에 의해 할당됩니다.

힙 영역

은 일반적으로 프로그래머가 할당하고 해제합니다. malloc 일련의 함수나 new 연산자에 의해 할당된 메모리는 해제 또는 삭제에 따라 수명 주기가 결정됩니다. 프로그램이 종료되고 OS에서 해제될 때까지 존재합니다. 유연한 사용, 상대적으로 넓은 공간이 특징이지만 오류가 발생하기 쉽습니다.

스택 영역

은 컴파일러에 의해 자동으로 할당 및 해제되며, 로컬 변수는 스택의 내용이 해당 범위 내에서만 존재합니다. 함수가 종료되면 내용도 자동으로 삭제되며 이는 효율성이 높지만 공간이 제한되어 있습니다.

텍스트 상수 영역

여기에 상수 문자열이 배치됩니다. 프로그램 종료 후 시스템에 의해 해제됩니다.

관련 권장사항:

JAVA 튜토리얼 | 2장 기본 데이터 유형

JavaScript 기본 데이터 유형과 참조 유형의 차이점에 대한 자세한 설명

비디오 튜토리얼:

기본 데이터 유형을 매개변수로 전달 - 최신 자바 완료

위 내용은 JAVA 기본: 자주 혼동되는 두 가지 유형(기본 데이터와 참조 데이터)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.