JAVA

[JAVA] 메모리 모델 (자바 독학하기21)

자라는레몬 2021. 7. 15. 22:19
반응형

자바 가상머신은 운영체제 위에서 실행되는 하나의 프로그램이다.

자바 프로그램은 자바 가상머신 위에서 실행되는 프로그램이다.

이때 메모리인 RAM 은 운영체제에서 관리하며, 응용 프로그램에서 요청을 하면 운영체제가 할당한다.

메모리는 다음과 같이 3가지 영역으로 나뉜다.

- 메소드 영역 : 메소드의 바이트 코드, static 코드

- 스택 영역 : 지역변수, 매개변수

- 힙 영역 : 인스턴스

 

소스파일을 컴파일할 때 생성되는, 자바 가상머신에 의해 실행이 가능한 코드를 가리켜 바이트코드 라 한다.

 

지역변수 와 매개변수는 선언 되는 순간에 스택에 할당 되었다가 자신이 할당된 영역을 벗어나면 소멸된다.

 

인스턴스는 힙에 저장되며, 인스턴스가 참조되지 않으면 이 인스턴스는 소멸된다.

이러한 소멸 작업은 가상머신이 진행하며, 이는 가상머신이 적정하다고 판단하는 때에 실시하므로 언제 인스턴스가 소멸될지는 예측할 수 없다.

그리고 이러한 인스턴스 소멸 방식을 가비지 컬렉션(Garbage Collection)이라 한다.

 

반응형