JAVA
[JAVA] 메모리 모델 (자바 독학하기21)
자라는레몬
2021. 7. 15. 22:19
반응형
자바 가상머신은 운영체제 위에서 실행되는 하나의 프로그램이다.
자바 프로그램은 자바 가상머신 위에서 실행되는 프로그램이다.
이때 메모리인 RAM 은 운영체제에서 관리하며, 응용 프로그램에서 요청을 하면 운영체제가 할당한다.
메모리는 다음과 같이 3가지 영역으로 나뉜다.
- 메소드 영역 : 메소드의 바이트 코드, static 코드
- 스택 영역 : 지역변수, 매개변수
- 힙 영역 : 인스턴스
소스파일을 컴파일할 때 생성되는, 자바 가상머신에 의해 실행이 가능한 코드를 가리켜 바이트코드 라 한다.
지역변수 와 매개변수는 선언 되는 순간에 스택에 할당 되었다가 자신이 할당된 영역을 벗어나면 소멸된다.
인스턴스는 힙에 저장되며, 인스턴스가 참조되지 않으면 이 인스턴스는 소멸된다.
이러한 소멸 작업은 가상머신이 진행하며, 이는 가상머신이 적정하다고 판단하는 때에 실시하므로 언제 인스턴스가 소멸될지는 예측할 수 없다.
그리고 이러한 인스턴스 소멸 방식을 가비지 컬렉션(Garbage Collection)이라 한다.
반응형