[JAVA] 자바가상머신(JVM)과 바이트코드 + JRE와 JDK

GyeongEun Kim·2021년 6월 13일
0

자바 가상 머신(JAVA Virtual Machine:JVM)

  • 자바 프로그램 실행 환경을 만들어주는 소프트웨어이다.

JVM의 역할

  • C나 C++과 같은 다른 언어들은 운영체제에 의존적이기 때문에 윈도우에서 만든 실행파일은 리눅스나 맥에서 실행이 불가능하다. 따라서 운영체제별로 컴파일을 따로 해서, 실행파일을 따로 만들어야하는 번거로움이 있었다.

  • 반면 자바는 플랫폼(운영체제)의 영향을 받지 않는다. 자바는 한번 컴파일을 하면 .class라는 파일이 만들어지는데 이 파일을 바이트 코드라고 하고, 바이트 코드를 JVM이 운영체제에 맞는 실행파일로 바꿔준다. 컴파일 했을 때 바로 실행파일이 만들어지는 것이 아니라, 중간단계의 코드로 변환이 되고, 이 코드가 다시 JVM상에서 실행되어 운영체제별 실행파일이 만들어진다.


JDK (Java Development Kit)

  • JDK는 자료구조, 네트워크, 입출력, 예외 처리 등에 최적화된 알고리즘 라이브러리를 제공한다. JDK를 다운받으면 JRE가 들어있고, JRE에는 JVM이 포함되어 있다. 자바 코드를 작성하기 위한 도구들을 모아논 키트라고 생각하면 된다.

JRE (Java Runtime Environment)

  • JRE(자바 실행 환경)은 JVM, 자바 클래스 라이브러리, 자바 클래스 로더를 구성되고 자바 코드를 실행하기 위해 필요한 패키지이다.

정리하자면 JDK는 JRE를 포함하고 있고, JRE는 JVM을 포함하고 있다.
JDK는 자바로 개발을 할 때 필요한 도구들의 모음이고,
JRE는 자바 파일을 실행할 떄 필요한 도구들의 모음이고,
JVM은 바이트코드를 실행해주는 가상머신이다.

profile
내가 보려고 쓰는 글

0개의 댓글