반응형
Notice
Recent Posts
Recent Comments
Link
7JeY world
[면접질문] JVM이란? 본문
반응형
JVM(Java Virtual Machine)
: 자바 가상 머신으로 자바 바이트 코드를 실행할 수 있는 주체
운영체제 위에서 동작하는 프로세스로 자바코드를 컴파일해서 얻은 바이트 코드를 해당 운영체제가 이해 할 수 있는 기계어로 바꿔 실행시켜 주는 역할을 한다.
Java와 OS사이의 중개자 역할 그리고 가장 중요한 메모리 관리 Garbage Collection을 수행한다.
크게 Class Loader, Execution Engine, Garbage Collection, Runtime Data Area 로 나뉜다.
Class Loader
JVM 내로 .class파일을 로드하고 링크를 통해 배치하는 작업을 수행하는 모듈
Execution Engine
클래스를 실행시키는 역할. 클래스 로더가 JVM 내의 런타임 데이터 영역에 바이트 코드를 배치 시키고 이것은 실행엔진에 의해 실행된다.
Garbage Collection
Eden, Survivor 0/1, Old, Permanent로 나뉜다.
새로 생성된 대부분의 객체 Eden에 위치
GC 한번 발생 후 살아남은 객체는 Survivor로 이동
일정시간 참조 되고 있다고 파악되는(GC가 여러번 일어났는데도 살아남아 있는 객체)객체는 Old영역으로 이동
Runtime Data Area
프로그램을 수행하기 위해 OS에서 할당받은 메모리 공간을 말한다.
반응형
'Interview > 개발' 카테고리의 다른 글
[면접질문] 애자일 방법론이란? (Agile Development Methodology) (0) | 2020.11.26 |
---|---|
[면접질문] 스택, 큐, 덱(Stack, Queue, deque)개념 정리 (0) | 2019.01.30 |
[면접질문] Java와 Java Script의 차이 (0) | 2019.01.30 |
[면접질문] 빅데이터란?(3V, 5V) (0) | 2019.01.28 |
[면접질문] 객체지향 프로그래밍이란? (0) | 2019.01.28 |
Comments