메인으로 돌아가기
JAVA
Java 메모리 사용영역
2022년 03월 03일
java
메모리
메모리 사용 영역
JVM은 OS에서 할당받은 메모리 영역(Runtime Data Area)을 세 영역으로 구분한다.
메소드 영역
JVM을 시작할 때 생성
로딩된 클래스 바이트 코드 내용을 분석 후 저장
모든 스레드가 공유
힙 영역
JVM을 시작할 때 생성
객체/배열 저장
사용되지 않는 객체는 GC가 자동 제거
JVM스택
스레드별로 생성
메소드를 호출할 때마다 Frame을 스택에 추가(push)
메소드가 종료하면 Frame을 제거(pop)
메모리 사용 영역 실행순서
Java MemoryExample
운영체제로부터 메모리를 할당받아서 MemoryExample프로그램을 실행시킴
JVM 구동
메소드 영역(Method Area)과 힙(Heep Area)영역이 생성됨
MemoryExample 로딩
메소드영역에 코드가 분석된 내용이 올라감
main 스레드 생성
main 스레드가 생성, 동시에 JVM 스택 생성
main() 메소드 호출
JVM스택에 프레임이 생성됨
main 메소드 실행
public static void main(String[] args) {...}
매개변수
String[] args
가 매개값으로 들어온다.
args
매개변수는 프레임 내부에 생성된다.
String배열객체는 힙영역에 생성된다.
JVM 종료
이전 글
실무에서 약간은 도움 될 기초지식 6 - 협업/g...
다음 글
웹서버 & 웹 애플리케이션 서버