Language/Java

[Java] JVM, JRE, JDK 간단 정리

Ella_K 2022. 11. 13. 23:01

https://www.youtube.com/watch?v=x4XDInEA8Xk

 

JVM

  • Java virtual machine : 자바를 실행하기 위한 가상 컴퓨터
  • 실제 컴퓨터(하드웨어)가 아닌 소프트웨어로 구현된 컴퓨터라는 뜻
  • 자바로 작성된 애플리케이션은 모두 JVM에서만 실행되기 때문에, 자바 애플리케이션을 실행하기 위해서는 반드시 JVM이 필요

http://www.yes24.com/Product/Goods/24259565

  • 일반 애플리케이션은 OS에 종속적 → 애플리케이션을 다른 OS에서 실행시키기 위해서는 그 OS에 맞게 애플리케이션을 변경해야함
  • Java 애플리케이션은 JVM 하고만 상호작용하기 때문에 OS와 하드웨어에 독립적 → 다른 OS 에서도 프로그램의 변경없이 실행이 가능
  • 단 JVM은 OS에 종속적이기 때문에 해당 OS에서 실행가능한 JVM이 필요
  • 썬에서는 일반적으로 많이 사용되는 주요 OS용 JVM을 제공한다.

 

 JRE

  • Java Runtime Environment : 자바 실행 환경
  • 자바로 작성된 응용프로그램이 실행되기 위한 최소 환경
  • JVM + 클래스 라이브러리 (Java API)
  • 자바 프로그램 개발이 아닌 단순히 자바 프로그램을 실행만 할려면 JRE를 다운받으면 된다.

 

 JDK

  • Java Development Kit : 자바 개발 도구
  • JRE + 개발에 필요한 실행 파일 (javac.exe 등..)
  • 자바 프로그램을 개발하려면 필수적으로 설치해야한다. 
JDK를 설치 했으면 설치된 디렉토리의 bin 디렉토리를 path에 추가해주어야 한다.
bin 디렉토리에는 자바로 프로그램을 개발하는데 필요한 실행파일들이 들어있다.
path는 OS가 파일의 위치를 파악하는데 사용하는 경로로, path에 디렉토리를 등록하면 해당 디렉토리에 포함된 파일을 파일 경로 없이 파일 이름만으로도 사용할 수 있게 된다.

 

 JDK의 bin 디렉토리 실행 파일들

javac.exe

  • 자바 컴파일러
  • 자바소스 코드(.java 파일)를 바이트 코드( .class 파일)로 컴파일 한다.
바이트코드: JVM이 이해할 수 있는 기계어.
JVM은 바이트 코드를 해당 OS의 기계어로 변환하여 OS로 전달함

java.exe

  • 자바 인터프리터
  • 컴파일러가 생성한 바이트 코드를 해석하고 실행한다.

javap.exe

  • 역어셈블러
  • 컴파일된 클래스 파일을 원래의 소스로 변환한다.

javadoc.exe

  • 자동문서 생성기
  • 소스파일에 있는 주석을 이용하여 Java API 문서와 같은 형식의 문서를 자동으로 생성한다.

jar.exe

  • 압축 프로그램
  • 클래스 파일과 프로그램의 실행에 관련된 파일을 하나의 jar파일(.jar)로 압축하거나 압축해제한다.

 


Source

자바의 정석

http://www.yes24.com/Product/Goods/24259565

 

Java의 정석 - YES24

최근 7년동안 자바 분야의 베스트 셀러 1위를 지켜온 `자바의 정석`의 최신판. 저자가 카페에서 12년간 직접 독자들에게 답변을 해오면서 초보자가 어려워하는 부분을 잘 파악하고 쓴 책. 뿐만 아

www.yes24.com

https://www.youtube.com/watch?v=x4XDInEA8Xk 

https://m.blog.naver.com/innolifes/222055607862

 

JVM, JDK, JRE 란 무엇인가?

프로그래밍을 하는 사람들조차 JDK 와 JRE 를 헤깔려 하는 분들이 많아서 정리합니다. JDK 와 J...

blog.naver.com

https://jeonjun930.tistory.com/4

 

JAVA 개발 환경 구축

1.JDK설치하기 자바 프로그램을 개발할려면 자바에서 제공하는 기본 API가 필요하고소스 작성 후 에는 바이트 코드로 변환하기 위한 컴파일러가 필요하고 이를 실행해주는 자바 가상머신(JVM)도

jeonjun930.tistory.com