reference type: 배열 타입, 열거 타입, 클래스, 인터페이스

 

Runtime Data Area

https://www.geeksforgeeks.org/jvm-works-jvm-architecture/

 

How JVM Works - JVM Architecture? - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

Method Area

 - *.class 들을 클래스 로더로 읽어 클래스별로 런타임상수풀, 필드 데이터, 메소드 데이터, 메소드 코드, 생성자 코드 등을 분류해서 저장한다. JVM이 시작할 때 생성되고 모든 스레드가 공유하는 영역이다.

 

Heap Area

 - 객체와 배열이 생성되는 영역으로 이 영역에 생성된 객체나 배열은 JVM 스택 영역의 변수나 다른 객체의 필드에서 참조 한다.

 

JVM Stack Area

 - 각 스레드 마다 하나씩 존재하며 스레드가 시작될 때 할당된다. 메소드를 호출할 때마다 Frame을 push하고 종료되면 pop한다.

 - Frame 내부에는 로컬 변수 스택이 있다. 기본 타입 변수와 참조 타입 변수가 push, pop 된다. 변수가 이 영역에 생성되는 시점은 초기화 될 때, 즉 최초로 변수에 값이 저장될 때이다.

 

배열 타입

 - 배열 선언, 생성, 길이

 

 - Program Arguments: "java 클래스"로 프로그램을 실행시키면 JVM은 프로그램 인자 String 배열을 먼저 생성하고 main() 메소드를 호출할 때 매개값으로 전달한다.

  > Edit Configurations...

객체 참조 배열

 

배열 복사

 - System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)

 - System.arraycopy(srcArr, 0, destArr, 0, srcArr.length)

 

shallow copy: 새로운 변수와 기존 변수의 참조 객체가 같음

deep copy: 참조하는 객체를 별도로 생성

 

열거 타입(enumeration type)

 - 추후 추가 예정

 

'Java > Java' 카테고리의 다른 글

[이것이자바다]7. 상속  (0) 2020.04.20
[이것이자바다]6. 클래스  (0) 2020.04.19
[이것이 자바다]3. 연산자  (0) 2020.04.18
[이것이 자바다]2. 변수, 타입  (0) 2020.04.18
[이것이 자바다]1. 자바 시작  (0) 2020.04.18

+ Recent posts