2014. 9. 4. 16:43

* 프로그램에 메모리에 올라가게 되면 프로세스가 되는데 여기서 Data Segment와 Code Segment 로 나누어 지는데,

Heap 과 Stack 은 Date Segment를 이용

* Heap 은 런타임시 크기가 결정되는 요소들이 저장되는 공간

  - C의 malloc()이나 C++ 의 new로 메모리 할당이 될 때에는 Heap 영역에 메모리가 잡힌다.

* Stack 은 컴파일시 크기가 결정되어 있는 요소들이 저장되는 공간

  - 함수가 받는 매개 변수나 함수 내에서 사용되는 지역 변수가 Stack 영역에 저장

메모리를 가상으로 표현한 모습

Data 영역

전역 변수와 static 변수 저장 

 Heap 영역

동적할당 되는 데이터 자장(데이터가 위 부터 순차적으로 저장)

 Stack 영역

지역변수와 매개변수 저장(데이터가 아래부터 순차적으로 저장)

 

1. 메모리가 어떻게 할당되는지..(스택과 힙의 관계)

- Objective 타입 변수

- primitive 타입 변수

2. 클래스가 로딩되는 시점은?

 

3. static 변수들은 어디에 값이 저장되는지.

 

4. 이상적인 GC 그래프

'Java' 카테고리의 다른 글

Hotspot JVM GC 방식  (0) 2014.12.09
[모델1] 간단한 로그인 시스템  (0) 2014.11.01
Path 클래스 사용하기  (0) 2014.10.01
singleton 패턴  (0) 2014.10.01
Java Hashtable  (0) 2014.06.16
Posted by 아도니우스