처음 해보는 자바 프로그래밍:JVM 메모리 구조로 이해하는 객체지향, 루비페이퍼 - WRAPUP
- 2024-07-05 23:40:34
- 리뷰(0)
JVM(Java Virtual Machine) 메모리 구조를 이해하면 객체지향 프로그래밍을 좀 더 쉽게 이해할 수 있습니다. JVM은 자바 프로그램이 실행될 때 사용되는 가상 머신으로, 메모리를 효율적으로 사용하기 위해 여러 영역으로 구분되어 있습니다.
JVM의 메모리 구조는 크게 다음과 같은 영역으로 나눌 수 있습니다:
1. 메소드 영역(Method Area): 클래스파일의 정보와 메소드 코드가 저장되는 영역입니다. 클래스 로더에 의해 클래스 파일이 로딩되면 해당 클래스의 정보가 메소드 영역에 저장됩니다.
2. 힙 영역(Heap Area): 객체가 생성되는 공간으로, new 키워드로 객체를 생성하면 해당 객체가 힙 영역에 할당됩니다. 가비지 컬렉터에 의해 더 이상 필요하지 않은 객체는 자동으로 메모리에서 해제됩니다.
3. 스택 영역(Stack Area): 메소드 호출 시 지역 변수와 메서드 호출이 저장되는 영역입니다. 각 스레드마다 별도의 스택 영역이 존재하며, 메소드 호출 시 스택 프레임이 생성되고 메서드가 실행되는 동안 사용됩니다.
4. PC 레지스터(Program Counter Register): 현재 실행 중인 스레드의 주소와 상태를 저장하는 영역입니다.
5. 네이티브 메소드 스택 영역(Native Method Stack Area): 자바 외의 언어로 작성된 네이티브 코드가 저장되는 영역으로, JNI(Java Native Interface)를 통해 호출됩니다.
이러한 JVM의 메모리 구조를 이해하면 객체지향 프로그래밍에서 클래스와 객체가 어떻게 메모리에 저장되고 관리되는지 더 잘 이해할 수 있습니다. 객체를 생성할 때 힙 영역에 메모리가 할당되고, 메소드를 호출할 때 스택 영역에 스택 프레임이 생성되는 등의 과정을 이해하면 자바 프로그래밍이 더욱 쉬워질 것입니다.