[java] 자바 가상 머신

ideal dev·2023년 3월 9일
0

Java

목록 보기
6/7

자바 가상 머신 (Java Virtual Machiine)

  • 자바 프로그램 실행환경을 만들어주는 소프트웨어
  • 자바는 컴파일러를 통해 바이트 코드(bytecode)로 변환된 후, JVM을 통해 실행

컴파일 과정
자바 컴파일러가 자바 코드를 컴파일 (.java)
-> 바이트 코드로 만듦 (.class)
-> 컴파일된 바이트 코드를 JVM의 클래스 로더(Class Loader)에게 전달
-> 클래스 로더는 동적로딩(Dynamic Loading)을 통해 필요한 클래스들을 로딩 및 링크하여 런타임 데이터 영역(Runtime Data area), 즉 JVM의 메모리에 올림
-> 실행엔진(Execution Engine)은 JVM 메모리에 올라온 바이트 코드들을 명령어 단위로 하나씩 가져와서 실행

  • OS와 자바사이에서 중개자 역할을 수행
  • 바이트 코드를 해석 및 실행하며, 메모리 관리와 가비지 컬렉션 등의 작업도 수행
  • 운영체제와는 독립적으로 작동
    - 자바 코드는 여러 플랫폼에서 컴파일된 후, 동일한 JVM에서 실행
  • Garbage collections 수행
  • 코드 최적화, JIT 컴파일 등의 기술을 이용해 빠른 실행 속도를 제공

JVM 기반 언어

JVM을 위해 개발된 프로그래밍 언어

  • Kotlin
  • Scala
  • Groovy
  • Clojure
    이러한 언어들은 자바와 마찬가지로 바이트 코드(bytecode)형태로 컴파일되어 JVM에서 실행됨

"Write once, run anywhere"

참고

http://asfirstalways.tistory.com/158
https://coding-factory.tistory.com/828

0개의 댓글