본문 바로가기

JAVA

[JDK, JRE] JDK,JRE의 차이점

자바를 하다보면 초기설정을 하게되는데 그때마다 JDK,JRE의 차이점에 대해 개념이 잡혀있지않았다. 

이번에 개념을 잡고자 게시글을 작성하게 되었다.


굉장히 간단하다.

JDK = JRE + @ 이라 할 수 있고

JDK는 읽기,쓰기 전용  JRE는 읽기전용이라 생각할 수 있다.

 

JVM은 ( Java Virtual Mechine )

  • JVM은 자바 소스코드로부터 만들어지는 자바 바이트 코드를 실행할 수 있다.
  • 또한 JVM은 플랫폼에 의존적이다.
  • 즉 리눅스의 JVM과 윈도우즈의 JVM은 다르다.
  • 단 컴파일된 바이코드는 어떤 JVM에서도 동작시킬 수 있다.
  • JVM은 역할은 다음과 같다.
    • 바이트 코드(.class)를 읽는다.
    • 바이트 코드(.class)를 검증한다.
    • 바이트 코드(.class)를 실행한다.
    • 실행환경(Runtime Environment)의 규격을 제공한다. (필요한 라이브러리 및 기타파일)

JRE(Java Runtime Enviroment) : 컴파일된 자바 프로그램을 실행시킬 수 있는 자바 환경

  • JRE는 JVM이 자바 프로그램을 동작시킬 때 필요한 라이브러리 파일들과 기타 파일들을 가지고 있다.
  • JRE는 JVM의 실행환경을 구현했다고 할 수 있다.
  • 자바 프로그램을 실행시키기 위해선 JRE를 반드시 설치해야한다.
  • 하지만 자바 프로그래밍 도구는 포함되어있지 않기 때문에 자바 프로그래밍을 하기 위해선 JDK가 필요하다.

JDK(Java Development kit) : 자바 프로그래밍시 필요한 컴파일러 등 포함

  • JDK는 개발을 위해 필요한 도구(javac, java등)들을 포함한다.
  • JDK를 설치하면 JRE도 같이 설치가 된다.
  •  JDK = JRE + @ 라고 생각하면 된다.

마지막으로 그림으로 보면 이해가 될것이다.

반응형