반응형
대학생때 배웠던 JVM, JRE, JDK에 대해서 정리해보겠습니다.
처음 JAVA 개발을 하면서 이것저것 깔면서 JDK, JRE 용어들이 나왓는데 그 당시에는 똑같거니~ 하고 넘겼는데 막상 실무에서 일하다보니 명확히 다른점을 느꼈다. 요번기회에 명확히 정리해봐야겠다!
반응형
JVM
JVM은 자바 가상머신(JAVA Virtual Machine)의 약자이다.
개발자가 소스코드 파일(.java)를 컴파일하면 자바 바이너리파일(.class)이 만들어지는데 이 클래스파일을 실행하는 것이 JVM이다.
JVM은 플랫폼에 의존적이다. 즉, 리눅스의 JVM과 윈도우즈의 JVM은 다르다. 단, 컴파일된 바이너리 코드는 어떤 JVM에서도 동작시킬 수 있다.
[JVM 역할]
- 바이너리 코드를 읽고 검증하고 실행한다.
- 실행환경의 규격을 제공한다.
JRE
JRE는 자바 실행환경(Java Runtime Environment)의 약자이다.
JRE는 JVM이 자바 프로그램을 동작시킬 때 필요한 라이브러리 파일들과 기타 파일들을 가지고 있다. JRE는 JVM의 실행환경을 구현했다고 할 수 있다.
즉, JAVA 개발하는데 필요는 없는데, 개발한 것을 실행하기 위해서는 필요하다.
JDK
JDK(Java Development Kit)의 약자이다.
위에 그림에서 설명했던 것 처럼, JDK는 JRE+개발을 위해 필요한 도구들이 포함된다.
사용자 입장에서는 단순 실행만 시킬 것이라면 JRE만 설치하면되고, Java 개발라면 JDK를 설치하면된다!
반응형
'💻 IT > 📌 Java' 카테고리의 다른 글
[JAVA] Array To List :: 배열을 리스트로 변환하는 방법 (6) | 2022.03.29 |
---|---|
[JAVA] char to int, int to char :: char를 int로 변환하기, int를 char로 변환하기 (8) | 2022.03.22 |
(JAVA) String에서 Json OR Json에서 String 변환 (0) | 2021.09.24 |
(JAVA) 채팅 프로그램_멀티 채팅방 (3) | 2019.08.13 |
(Java) Swing기반 채팅프로그램 (1) | 2019.07.31 |