자바 가상 기계(JVM)

uglyduck.dev·2020년 9월 27일
0

개념 모아 🗂

목록 보기
6/40

왜 JVM(Java Virtual Machine)인가?

  • 자바 프로그램은 완전한 기계어가 아닌, 중간 단계의 바이트 코드이므로 이것을 해석하고 실행할 수 있는 가상의 운영체제가 필요함
  • 실 운영체제를 대신해서 자바 프로그램을 실행하는 가상의 운영체제 역할을 함
  • 운영체제별로 프로그램을 실행하고 관리하는 방법이 다르기 때문에 운영체제와 자바 프로그램을 중계하는 JVM을 두어 여러 운영체제에서 동일한 실행 결과가 나오도록 설계함

바이트 코드

  • 모든 JVM에서 동일한 실행 결과를 보장하지만, 운영체제에 종속적임
  • 운영체제가 이해하는 기계어로 번역해서 실행해야 하므로 JVM은 운영체제에 맞게 설치되어야 함

자바 프로그램의 실행 단계

  1. 확장자가 .java인 파일을 작성한다. (소스 파일)
  2. 컴파일러로(javac.exe)로 컴파일한다.
  3. 컴파일된 바이트 코드 파일(*.class)가 생성된다.
  4. JVM 구동 명령어(java.exe)에 의해 바이트 코드 파일이 해석되고 운영체제에 맞게 기계어로 번역된다.
    • 바이트 코드는 하나지만, JVM에 의해서 번역되는 기계어는 운영체제에 따라 다르다.

Reference

  • 신용권, 『이것이 자바다』, 한빛미디어(2018.1.5), 7p ~ 8p
profile
시행착오, 문제해결 그 어디 즈음에.

0개의 댓글