기초 JAVA 교육과정 ] JVM메모리 모델(2)
기초 JAVA 교육과정 ] JVM메모리 모델(2)
실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.
JVM메모리 모델(2)
- 메소드 영역 (Method area)
: 공유 메모리 영역이라고도 한다.
: 클래스의 메소드에 대한 바이트코드, 클래스의 전역변수인 클래스 변수(static) 위치
: JVM에서 실행되고 있는 모든 스레드에 의해 공유
: JVM은 복수개의 스레드가 메소드를 정상적으로 사용하기 위해 동기화(synchronization)기법 제공
: static 필드(클래스 변수)
-> 각 클래스의 static 필드가 확보
-> 사용을 위해 클래스 이름으로 호출 시 메모리에 적재
: 바이트 코드(메소드)
-> 메소드의 실행 로직에 대한 바이트 코드가 메모리로 적재되는 공간.
-> 실행 로직이 메모리에 적제 되여 cpu가 fetch 할 수 있음
-> 자바의 모든 로직은 메소드에만 존재
=> 클래스는 필드와 메소드로만 구성되어있기 때문에
-> 메소드에 대한 바이트코드도 static 필드와 마찬가지로 클래스를 객체 생성할 시점에 메모리에 적재(예외 : main())
: 장점
-> 기동시간의 단축
-> 끝가지 사용되지 않는 클래스(필드, 메소드)가 있을 경우 메모리를 절약
: 메소드 영역은 프로그램이 시행되기 시작되기 시작할 때부터 끝날 때까지 계속 존재하는 것이라고 보면 된다.
: 다른 메모리 영역과의 차이
-> 스택(Stack)과 같이 필요에 의해 임시적으로 생성되고 사라지지도 않고 힙(Heap)안의 객체와 같이 실행 시 확보되지 않고 계속해서 정적으로 존재
-> 또한 스택은 스레드 별로 존재한다.
:
'자바' 카테고리의 다른 글
기초 JAVA 교육과정 ] JVM메모리 모델(4) (0) | 2017.02.19 |
---|---|
기초 JAVA 교육과정 ] JVM메모리 모델(3) (0) | 2017.02.19 |
기초 JAVA 교육과정 ] JVM메모리 모델(1) (0) | 2017.02.19 |
기초 JAVA 교육과정 ] 생성자 (0) | 2017.02.19 |
기초 JAVA 교육과정 ] private의 진정한 의미 (0) | 2017.02.19 |