써먹는 웹개발
[Java]JVM, JDK, JRE의 차이점 본문
요약
JVM은 class 파일 실행하는 도구
JRE는 JVM이 class 파일 실행할때 필요한 라이브러리 파일들과 기타 파일
JDK는 JRE + 개발을 위해 필요한 도구(javac, java등)들을 포함
※ 여기서 문제
Q1) 이클립스 파일에서 빨간색 에러뜨면 뭘 확인?
A1) Java Complier 버전 확인
Q2) 이클립스 실행시 Runtime 버전관련 에러나면 뭘 확인?
A2) Java Build Path 에러 확인
========================================================
자바에서 사용하는 용어 중 혼동하기 쉬운 JVM, JRE, JDK에 대해서 정리해 보자.
JVM
JVM은 자바 가상머신(Java Virtual Machine)의 약자이다.
JVM은 자바 소스코드로부터 만들어지는 자바 바이너리 파일(.class)을 실행할 수 있다. 또한 JVM은 플랫폼에 의존적이다. 즉 리눅스의 JVM과 윈도우즈의 JVM은 다르다. 단, 컴파일된 바이너리 코드는 어떤 JVM에서도 동작시킬 수 있다.
JVM은 다음과 같은 역할을 한다.
- 바이너리 코드를 읽는다.
- 바이너리 코드를 검증한다.
- 바이너리 코드를 실행한다.
- 실행환경(Runtime Environment)의 규격을 제공한다. (필요한 라이브러리 및 기타파일)
JRE
JRE는 자바 실행환경(Java Runtime Environment)의 약자이다.
JRE는 JVM 이 자바 프로그램을 동작시킬 때 필요한 라이브러리 파일들과 기타 파일들을 가지고 있다. JRE는 JVM의 실행환경을 구현했다고 할 수 있다.
JDK
JDK는 자바 개발도구(Java Development Kit)의 약자이다.
JDK는 JRE + 개발을 위해 필요한 도구(javac, java등)들을 포함한다.
이상과 같이 jvm, jre, jdk 에 대해서 알아보았다.
'웹개발 > Java & Jsp' 카테고리의 다른 글
[JAVA] startsWith 란? (0) | 2018.07.26 |
---|---|
[java] json을 map으로, map을 json으로 변환하는 예제들 (0) | 2018.07.26 |
[Java] 파일업로드시 경로를 못 찾는 문제 해결방법 (0) | 2018.07.19 |
[Java] 파일 만들기 지우기 확인하기 (0) | 2018.07.16 |
[Java] ArrayList를 받아오는 3가지 방법 (0) | 2018.07.12 |