tkdtn1427.log
로그인
tkdtn1427.log
로그인
JVM 메모리 구조
이상수
·
2022년 11월 28일
팔로우
0
JVM
0
CS - 운영체제
목록 보기
2/4
1. JVM 이란?
Java Virtual Machine의 약자로 자바 가상 머신을 의미한다.
자바와 운영체제의 중개자 역할을 하여 자바가 운영체제에 관계 없이 프로그램을 실행할 수 있게 도와줌
가비지 컬렉터를 이용한 메모리 관리도 자동으로 수행하며, 레지스터 기반이 아닌 스택기반으로 동작
2. JVM 메모리 구조
1). Class Loader
JVM내로 클래스파일을 로드하고 링크를 통해 배치하는 작업을 수행하는 모듈
2). Excution Engine
JVM내의 런타임 데이터 영역에 배치된 바이트 코드들을 명령어 단위로 읽어서 실행시키는 것
3). Garbage Collector
힙 메모리 영역에 생성된 객체들 중에서 참조되지 않는 객체들을 찾아 제거하는 역할
4). Runtime Data Area
JVM의 메모리 영역으로, 애플리케이션을 실행할 때 사용하는 데이터들을 적재하는 영역
Heap, Stack, PC Register, Native Method, Method 영역으로 이루어짐
Method Area
모든 쓰레드가 공유하는 메모리 영역으로 클래스, 인터페이스, 메소드, static 변수 등의 바이트 코드를 보관
Heap Area
모든 쓰레드가 공유하며, new 키워드로 생성된 객체와 배열이 생성되는 영역
가비지 컬렉터가 실행되는 영역
Stack Area
메서드 호출 시마다 메소드 각각의 스택영역이 생성되고, 메소드 안에서 사용하는 값들을 저장하는 역할
지역변수, 매개변수, 연산 및 리턴값을 임시로 저장하고 메소드 수행이 끝나면 삭제
PC Register
쓰레드가 시작될 때 생성되며, 쓰레드 마다 하나씩 존재한다.
쓰레드가 어떤 무슨 명령을 실행해야 할지 기록하는 부분으로, JVM명령의 주소를 갖음
Native Method stack
자바 외 언어로 작성된 네이티브 코드를 위한 메모리 영역
이상수
Will be great Backend-developer
팔로우
이전 포스트
블로킹 vs 논 블로킹, 동기 vs 비동기
다음 포스트
쓰레드 란
0개의 댓글
댓글 작성