java memory 2

[이것이 자바다] 자바 메모리 공부 정리

package javastudy2; /* Must - know 메소드 영역에는 클래스 코드들이 올라간다. 힙 영역에는 객체가 생성된다. 스택 영역에는 변수들이 생성이 된다. JVM은 OS에서 할당받은 메모리 영역 (Runtime Data Area)을 세 영역으로 구분한다. @메소드 영역 JVM을 시작할 때 생성된다. 로딩된 클래스 바이트 코드 내용을 분석 후 저장한다. 모든 스레드가 공유한다. @힙 영역 JVM을 시작할 때 생성된다. 객체/배열을 저장한다. 사용되지 않는 객체는 GC가 자동으로 제거한다. @JVM스택 스레드별로 생성한다. 메소드를 호출할 때마다 Frame을 스택에 추가한다. (push) 메소드가 종료되면 Frame을 제거한다. (pop) 추가 노트 main스레드가 생성이 됨과 동시에 JV..

Java 2020.12.20

[Java] Java JVM 메모리 구조와 이해

JVM은 운영체제와 상관없이 자바코드와 운영체제 사이에서 운영체제에 맞게 변경시켜준다. JVM은 시스템으로부터 프로그램을 수행하는데 필요한 메모리를 할당받고 용도에 따라 여러 영역으로 나눠서 관리한다. 그 영역이 메서드 영역, 힙 영역, 스택 영역이다. 1. 메서드 영역 JVM이 *.class 파일을 읽고 분석한 데이터를 여기에 저장한다. 2. 스택 영역 메서드 작업에 필요한 메모리 공간. 메서드가 호출되면 스택에 쌓이고 끝나면 스택에서 비워진다. 메서드 작업하는 동안 지역변수, 중간 결과등이 저장된다. 3. 힙 영역 인스턴스가 생성되는공간으로 객체에 대한 정보들이 저장된다. 아래 블로그에 잘 정리되어 있습니다. debugdaldal.tistory.com/156?category=925274 JVM(자바가..

Java 2020.12.10
반응형