Java & Spring/Java 문법

자바의 메모리 구조

데르벨준 2013. 1. 30. 14:14
반응형

1. 종류


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

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

힙 : 인스턴스


 2. 설명

  - 메소드 영역

   메소드의 바이트코드는 프로ㅡ램의 흐름을 구성하는 바이트코드다! 

  사실상 컴파일 된 바이트코드의 대부분이기에 전체 바이트 코드가 올라간다 볼 수 있다.

   또한, static 변수도 메모리가 시작 될 때 부터 올라가기 때문에 당연히 이 영역에 해당된다.


  - 스택 영역

   메소드에서만 쓰이는 유효한 변수를 의미한다. 즉, 사용후 휘발하는 메모리이다.

   참조변수, 기본 자료형 변수, 매개변수 등이 이에 속한다.

  내용으로 봐서는 메소드 영역에서 써야 할 것 같지만 스택 영역에서 쓰고 있다 ^^;;


  - 힙 영역

   인스턴스들은 모두 힙 영역에 생성된다. 단, 인스턴스를 참조하는 참조변수가 없다면

  가비지 컬렉터의 소멸 대상이 된다.

반응형