JDK, JRE, JVM의 관계

skdfjk·2022년 6월 23일
0

Java

목록 보기
2/3

코드를 만드는 것에만 관심이 있었지만 Java를 시작하는 단계에서 Java라는 언어는 다른 언어와는 다른 컴파일 과정을 가지고 있다고 하여 공부해보기로 하였다.

출처 : https://youtu.be/f0cAmTYo4tQ

  • 컴파일이란 사람이 작성한 코드를 컴퓨터가 이해할 수 있는 0과 1로 이루어진 바이트 코드로 바꿔주는 것을 말한다.
  • C언어는 운영체제마다 다른 컴파일러를 가지고 있고 컴파일된 결과물이 다 다르다.
  • Java는 컴파일러가 하나 있고 컴파일된 결과물이 동일하다. 이것들이 각각 다른 JVM위로 올라가면서 JVM이 운영체제에게 한번 더 번역해준다.
  • JVM은 인기가 많아 Java뿐만이 아니라 그루비, 스칼라, 코틀린 등의 언어에서도 사용되고 있다.
  • JDK가 JRE를 포함하고 있고 JRE가 JVM을 포함하고 있다.
  • JVM :
    • 자바 가상 머신의 약자(Java Virtual Machine),
    • OS별로 존재한다
    • 바이너리 코드를 읽고 검증하고 실행한다.
  • JRE :
    • 자바 실행 환경의 약자(Java Runtime Environment)
    • JRE = JVM + 자바 프로그램 실행에 필요한 라이브러리 파일 등
    • JVM의 실행환경을 구현
  • JDK :
    • 자바 개발 도구의 약자(Java Development Kit)
    • JDK = JRE + 개발을 위한 도구
    • 컴파일러, 디버그 도구 등이 포함

0개의 댓글