less than 1 minute read

📖 Primitive Type(원시 타입)

기본형 타입으로 사용되기 전에 반드시 선언되어야 한다.
또한, 객체가 아니므로 null값을 가질 수 없으며, stack 메모리에 직접 값이 저장된다.

image


📖 Reference Type(참조 타입)

Primitive Type을 제외한 모든 타입들로 빈 객체를 의미하는 null이 존재한다.

image


🍄 메모리 차이

image

reference type이 사용하는 메모리 양이 압도적으로 높다.

  • 가상 컴퓨터에서 돌아가는 실행 프로그램을 위한 이진 표현법이다.
  • 자바 바이트코드는 JVM이 이해할 수 있는 언어로 변환된 자바 소스코드로 1바이트로 이루어져 있다.
  • .class 파일을 의미한다.

바이트 코드는 Interpreter 또는 JIT 컴파일러에 의해 바이너리 코드로 변환된다.


📖 배열 선언시 실제 저장 방법

Primitive type시 stack 메모리에 직접 값이 저장되고, reference type 시 heap에 저장이 된다.
Reference type시 heap 메모리에 직접 값이 저장되며, stack영역의 실제 객체들의 주소를 저장한다.

🍄 1차원 배열

다음과 같이 stack 영역에는 주소가 저장되며, heap 영역에는 실제 값이 들어간다.

image


🍄 2차원 배열

heap 영역에는 주소를 저장하는 영역과 실제 값이 저장하는 부분이 나누어져 존재한다.

image

출처



개인 공부 기록용 블로그입니다.
틀리거나 오류가 있을 경우 제보해주시면 감사하겠습니다.😁

Tags: ,

Categories:

Updated: