티스토리 뷰
개발자들이 자주 혼동하기 쉬운 JDK, JRE가 있다. 간단하게 정리해 보자.
JVM
JVM은 자바 가상 머신(Java Virtual Machine)의 약자이다. JVM은 컴퓨터에서 Java 프로그램을 실행할 수 있게 해주는 추상 시스템이다. Java 프로그램을 실행하면 Java 컴파일러가 먼저 Java 코드를 바이트 코드로 컴파일한다. 그런 다음 JVM은 바이트 코드를 기본 컴퓨터 코드 (컴퓨터 CPU가 직접 실행하는 명령 집합)로 변환한다. 자바 소스코드로부터 만들어지는 자바 바이너리 파일(.class)을 실행할 수 있다. 또한 JVM은 플랫폼에 의존적이다. 즉 리눅스의 JVM과 윈도우의 JVM은 다르다. 단, 컴파일된 바이너리 코드는 어떤 JVM에서도 동작시킬 수 있다.
JRE
JRE는 자바실행환경(Java Runtime Environment)의 약자이다. JRE는 JVM (Java Virtual Machine) 및 Java 프로그래밍으로 작성된 응용 프로그램을 실행하기 위한 다른 구성 요소와 함께 Java 클래스 라이브러리를 제공하는 소프트웨어 패키지이다. JRE는 JVM의 상위 집합이다. JRE는 JVM의 실행환경을 구현했다고 할 수 있다. 개발없이 실행만이 목적이면 JRE만으로도 가능하다.
자바 실행환경, 컴파일된 파일을 실행, JDK 없이 JRE만 설치 가능, 사용자용
JDK
JDK는 자바개발도구(Java Development Kit)의 약자이다. JDK는 Java로 응용 프로그램을 개발하는 소프트웨어 개발 키트이다. JDK를 다운로드하면 JRE도 다운로드되므로 별도로 다운로드할 필요가 없다. JRE 이외에, JDK에는 개발 도구 (컴파일러, JavaDoc, Java Debugger 등)도 포함되어 있다.
자바 개발환경, 자바 컴파일러, 디버거 등의 도구 포함, JRE 포함, 개발자용
JVM, JRE, JDK
'프로그래밍 > Back end' 카테고리의 다른 글
[Back end] MyBatis foreach 동적 SQL (0) | 2019.09.08 |
---|---|
[Back end] MyBatis reusltType & reusltMap 차이점 (0) | 2019.08.20 |
[Back end] Spring log4j, logback 중복 로그 (0) | 2019.07.08 |
[Back end] Java RestTemplate 예제 (Get&Post&Put&Delete) (0) | 2019.07.05 |
[Back end] Java 부동소수점 산술 연산 주의사항 (0) | 2019.05.26 |
- 제주도 3박4일 일정
- 정렬 알고리즘
- 개발환경
- Eclipse
- 회고
- effective java
- Tomcat
- 자바
- 경력관리
- 성능분석
- 리눅스 명령어
- 이직
- 리액트 16
- 프로그래머
- 프로그래머스
- SQL
- React
- spring
- Linux 명령어
- 리액트
- 소프트웨어공학
- sort algorithm
- Maven
- 제주도 여행
- Java
- 오라클
- Collection
- javascript
- 자바스크립트
- 오라클 내장 함수
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |