- JVM : 자바 가상 머신
- 가상머신 : 프로그램을 실행하기 위해 물리적 머신과 유사한 머신을 소프트웨어로 구현한 것
- 자바로 작성된 모든 프로그램은 자바 가상 머신에서만 실행될 수 있다.
- 자바 프로그램을 실행하기 위해서는 반드시 자바 가상 머신이 설치되어 있어야 한다.
- 자바 프로그램과 달리 JVM은 운영체제에 종속적이므로, 각 운영체제에 맞는 자바 가상 머신을 설치해야 한다.
- 자바 가상 머신이라는 한 단계를 거쳐야 하므로, 상대적으로 실행 속도가 느리다는 단점을 가지고 있다.
- 구성
- 자바 인터프리터(interpreter) : 자바 컴파일러에 의해 변환된 자바 바이트 코드를 일고 해석하는 역할.
- 클래스 로더(class loader) : 동적으로 클래스를 로딩해줌.
- 자바는 동적으로 클래스를 읽어오므로, 프로그램이 실행 중인 런타임에서야 모든 코드가 자바 가상 머신과 연결됨.
- JIP 컴파일러(Just-in-Time compiler) : 프로그램이 실행 중인 런타임에 실제 기계어로 변환해주는 컴파일러
- 동적 번역(dynamic translation) : 프로그램의 실행 속도를 향상시키기 위해 개발됨
- 가비지 컬렉터(garbage collector) : 더는 사용하지 않는 메모리를 자동으로 회수해 줌 → 개발자가 메모리를 관리하지 않아도 됨.
참고자료
'Language > JAVA' 카테고리의 다른 글
[프로그래머스] 문자열 내림차순으로 배치하기 (0) | 2022.01.27 |
---|---|
[프로그래머스] 문자열 내 마음대로 정렬하기 (0) | 2022.01.26 |
[프로그래머스] 소수 찾기 (0) | 2022.01.21 |
[프로그래머스] 모의고사 (0) | 2022.01.20 |
[프로그래머스] 로또의 최고 순위와 최저 순위 (0) | 2022.01.20 |