JVM, JRE, JDK가 뭔가요?

문창빈·2023년 7월 4일

JVM이란 자바가상 머신이며 자바 프로그램이 어느기기 운영체제에 있더라도 실핼할수있게 한다
자바 프로그램의 메모리를 효육적으로 관리 랑 최적하게 하게 해준다.

JRE(자바 런타임 환경이란 자바로 잔 소프트웨어가 컴파일 미 빌드까지 다된다음
이를 사용할곳에 주어져서 실행이 될때 그 환경 요소들로서 필요한 것들
소프트웨어라는게 딱 우리가 바자나 그런언어로 작성한 코드만으로 돌아갈수있는게 아니다.
List나 Map , Set 같은걸 사용할수 있는 이유는 바이트코드로 컴파일 된 클래스로 제공이 되기 때문
JVM이랑 세트로 묶어다가 다운받아 설치할수 있도록 한게 자바 런타임 환경 즉 JRE이다
어떤 컴퓨터든 이 JRE만 깔리면 자바로 작성한 프로그램을 돌리수있게 된다

JDK는 Java Development Kit 자바 개발도구의 약자이다.
JRE가 JVM을 포함하는것처럼 JDK도 JRE 즉 자바의 런타임때 필요한 요소들도 포함읋한다
거기에 추가해서 JDK에는 개발에 필요한것들이를테면 자바 코드를 컴파일할때 쓰는 javac 자바를 디버깅 할때 쓰는 jdb 서로 연관있는 클래스들을 하나의 JAR파일로 묶어주는 jar 기타등등
위키피디아 JDK항목 으로 보면 나와있다고한다.

예전에는 최종 사용자들이 자바 프로그램을 돌릴려면 JRE를 따로 설치하고 했지만딱히 좋은그림은 아니기에 자바 11은 개발자가 배포하는 자바 프로그램에 JRE랑 JVM 요소들까지 끼워넣어서 사용자는 그냥 그 프로그램만 받아서 쓰면되도로 미는것.
그리고 자바 돌리는 서버같은 경우 그냥 아예 JDK를 설치해서 사용

햇갈리면안되는것 자바란 언어 자체는 무료이며 이자바로 뭘 개발할때 쓰는 툴인 JDK중에 대표적으로 오칼에서 배포하는 Oracle JDK등이 상업적 이용에 한해서 유료 개인은 공짜

profile
안녕하세요

0개의 댓글