Java로 개발할건데.. JVM, JRE, JDK.. 얘네들은 뭐람?

Trilly·2023년 1월 9일
0

Java 잡아!

목록 보기
3/3

Java로 개발하려던것 뿐인데, 얘랑 같이 딸려오는 애들이 너무 많다. 얘네들은 왜 딸려오는 건지, java의 동작방식은 어떤지에 대해서 오늘 알아보자.

JVM: Java Virtual Machine

JVM(Java Virtual Machine)이란 자바 프로그램이 실행되는 가상 컴퓨터이다. 자바 이전의 프로그램 언어(C언어)는 플랫폼(운영체제)마다 각각의 컴파일러와 실행 파일이 필요했다. 하지만 JVM이 각 운영체제 별로 만들어져 있는 덕분에,하나의 java 실행 파일로 여러 플랫폼에서 사용이 가능하다.

Compiler, Byte Code

Java와 같은 언어는 고급프로그래밍 언어로, 인간친화적으로 만들어졌다. 이 언어를 01101000 과 같은 저급프로그래밍 언어 즉, 컴퓨터친화적으로 만들어야 한다. 그때 사용되는 도구 중에 interpreter와 compiler가 있는데, 자바는 .javac라는 compiler을 사용한다. .java 를 컴파일해서 .class 파일이 나오는데, 이것을 byte code라고 일컫는다. (아직 기계어는 아님) 이 byte code가 JVM에 들어간다.

JRE: Java Runtime Environment

JRE(Java Runtime Environment)란 자바 실행 환경이다. JRE는 JVM을 포함하고 있다. 자바프로그램을 '실행'시킬 수는 있으나 Compiler, Debugger와 같은 개발도구는 포함하지 않는다.

Compile time vs. Runtime

Compile time은 자바파일을 컴파일시키는 시간을 뜻하고 Runtime은 실행 파일을 실행시키는 시간을 뜻한다.

JDK: Java Development Kit

JDK(Java Development Kit)란 자바 개발을 위한 도구 모음이다. JDK는 JRE를 포함하고 있다. 실행 하는 것만 아니라 직접 개발을 하고 싶다면 JDK가 필수이다.

javac, jdb, jar

  • javac: 컴파일
  • jdb: 디버깅
  • jar: 연관있는 클래스를 하나로 묶음

It is widely used for developing PLATFORM-INDEPENDANT Internet application.
Write Once, Run Anywhere.

Source: Y.Daniel Liang, Introduction to JAVA Programming, 11th edition, Pearson

profile
노력하는 삶을 즐기는 천재

0개의 댓글