19-1 자바 가상머신의 메모리 모델

자바가상머신은

메소드 영역, 스택 영역, 힙 영역 세개의 영역으로 나뉜다.

메소드영역

⇒ 프로그램 종료될 때 까지 저장

바이트 코드들이 올라가는 영역

(바이트코드? → 자바프로그램을 실행시키면 바이트코드가 실행이 됨)

JVM(자바가상머신)이 A클래스를 읽었을 경우 바이트코드와 static변수를 함께 메소드 영역에 할당하고 초기화 함 (메모리공간에 변수가 들어가는것)

메소드의 바이트코드는 메소드이니까 넣는것이 당연한데, static은 변수인데 왜 메소드 영역에 넣는가?

바이트코드와 static변수는 한번 메모리영역에 저장, 할당을 하면 프로그램이 종료될 때 까지 메모리 공간에서 꺼내지 않는다는(유지된다는) 특성을 가지고 있음.

즉, 메소드영역에 올라가는 애들의 특징: 한번 할당이 되고나면 지우지 않고 프로그램이 종료될 때 까지 유지됨