<JVM의 메모리구조>
1. 메서드 영역
어떤 클래스가 사용되면 JVM은 해당 클래스의 *.class파일을 읽어서 클래스에 대한 정보를 메서드 영역에 저장한다. 즉, 클래스의 변수인 클래스변수와 클래스 메소드(클래스 데이터) 등이 저장되는 곳이다.
2. Stack 영역
주로 메소드의 작업에 필요한 메모리 공간을 제공한다. 메소드가 사용되면 메소드를 위한 메모리가 할당되며 메소드가 실행하는데 필요한 지역변수 혹은 연산의 결과들을 저장하는데 사용되는 공간이다.
메소드가 작업을 마치면 스택 영역에서 소멸된다.
3. 힙 영역
인스턴스가 생성되는 공간이다. 즉, 객체가 생성되는 공간이다. 예를 들어 Class Abc가 있다고 가정하자.
그럼 이 클래스에 대한 객체를 Abc a = new Abc(); 이렇게 만들고 주소를 a에 저장했다고 가정하자.
Abc라는 클래스에는 여러가지 멤버변수들이 존재할 것이다. 이때 만들어진 객체를 저장하는 곳이 힙 영역이다. 인스턴스 변수들이 저장되는 공간이다.
<실습>
-결과-
LIST
'Programming > Java' 카테고리의 다른 글
Java - 생성자, 초기화블럭 (0) | 2015.12.06 |
---|---|
Java - 메소드 오버로딩(Method Overloading) (0) | 2015.12.06 |
Java - 인스턴스 변수, 클래스 변수, 지역 변수 (0) | 2015.12.06 |
Java - 객체 지향 언어의 정의, 용어 (0) | 2015.12.06 |
Java - while문, do~while문 (0) | 2015.12.06 |