Link
09-25 12:23
«   2020/09   »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      
Archives
Today
854
Total
1,023,600
관리 메뉴

꿈 많은 사람의 이야기

자바 메모리 영역 본문

java

자바 메모리 영역

이수진의 블로그 이수진의 블로그 2017. 8. 10. 08:42

 

 





JVM은 메모리 영역을 분할해 사용한다.


java.exe로 JVM이 시작되면 JVM은 운영체제에서 할당받은 메모리 영역을 다음과 같이 세부 영역으로 구분해서 사용한다.


- 메소드 영역

메소드 영역은 코드에서 사용되는 클래스(~.class)들을 클래스 로더로 읽어 클래스별로 런타임, 

필드데이터, 메소드 데이터 등을 분류해서 저장한다.


- 힙 영역

객체와 배열이 생성되는 영역이다. 힙 영역에 생성된 객체와 배열은 JVM 스택 영역의 변수나 다른 객체의 필드에서 참조한다. 참조하는 변수나 필드가 없다면 의미 없는 객체가 되기 때문에 이것을 쓰레기로 취급하고 JVM은 가비지 컬렉션을 실행시켜 자동으로 제거한다.


- 스택 영역

스택 영역은 각 스레드마다 하나씩 존재하며 스레드가 시작될 때 할당된다. 스택은 메소드를 호출할 때마다 프레임을 추가(push)하고 메소드가 종료되면 해당 프레임을 제거(pop)을 한다.




만약 배열과 같은 놈들은 다음과 같이 된다

int[] socres = {10, 20};


 

이와 같은 방식으로 진행된다

0 Comments
댓글쓰기 폼