Java Virtual Machine (1)

안재민·2024년 8월 28일

JAVA

목록 보기
1/6
post-thumbnail

자바는 운영체제에 독립적?

JVM란?

1. JAVA와 OS 사이의 중개자
자바 응용 프로그램은 하드웨어나 운영체제와 통신하지 않고 JVM하고만 통신하고, JVM이 운영체제가 이해할 수 있도록 변환하여 전달하는 역할을 한다.

Java Virtual Machine, 해석 해보면 "가상 컴퓨터", 즉 컴퓨터 속 컴퓨터라고 생각하면 편하다. Java 어플리케이션이 어디서든 실행되기 위해 JVM을 사용한다.

자바 응용 프로그램은 운영체제에 독립적
JVM은 운영체제에 종속적

2. 메모리 관리, Garbage Collection

JAVA 실행

Java는 Compiler 일까 Interpreter 일까?

자바는 Compiler와 Interpreter를 모두 사용한다.

Java의 실행 과정

  1. Java Compiler가 .java파일을 .class 라는 Java Bytecode로 변환

    • 자바 컴파일러 (javac)
  2. Class Loader를 통해 JVM내에 로드

  3. Bytecode를 JVM이 OS가 이해할 수 있도록 해석

    • 인터프리터
    • JIT 컴파일러
      인터프리터의 단점을 보완하기 위해 도입한 컴파일러, 인터프리터를 사용하다 적절한 시점에 바이트 코드 전체를 컴파일 하고 더이상 인터프리터를 사용하지 않는다. 내부적으로 자주 수행되는 메서드를 체크하여 컴파일을 수행

0개의 댓글