728x90
반응형
JAVA 업그레이드를 하면서 또 스스로에게 JDK와 JRE의 차이점에 대해 스스로에게 물었고 대답하지 못하는 나를 보며 정리를 한 번 해야겠다 생각이 들어 정리를 한다.
몇 번이나 반복해서 해도 반복해서 머릿속의 지우개가 발동하는.. CS 관련 질문들이다.
JDK와 JRE의 차이점은 무엇인가요?
자바 프로그램을 개발할 때 필요한 것이 JDK(Java Development Kit),
자바를 실행시키는데 필요한 것이 JRE(Java Runtime Enviroment) 입니다.
JDK
자바 개발자들이 자바 애플리케이션을 개발하기 위해 사용하는 소프트웨어로 JDK는 JRE를 포함하는 상위 집합체이다. (JRE에 속한 모든 것을 포함하고 있다.)
자바 컴파일러 ('javac'), 문서 생성기('javadoc'), 디버거 등과 같은 애플리케이션 개발에 필요한 라이브러리들과 툴을 포함한다.
JDK 디렉터리 구성 요소
- bin : 자바 개발 및 실행에 필요한 도구와 유틸리티 명령을 포함한다.
- conf : 설정 파일을 포함하며 이 파일은 JVM 및 기타 자바 컴포넌트 동작 구성 시 사용된다.
- include : 네이티브 코드 프로그래밍을 위한 C언어 헤더 파일들이 포함되어 있다. 자바와 네이티브 코드 간의 상호 운용성을 위해 사용된다.
- jmods : 자바 9 이상에서 도입된 모듈 시스템의 컴파일된 모듈 파일들을 포함한다.
- legal : 모듈에 대한 저작권과 라이선스 정보가 포함된 파일들이 있다.
- libs : 실행 시간에 필요한 라이브러리 클래스들과 기타 파일들을 포함한다.
JRE
자바 애플리케이션을 실행하기 위한 환경을 제공한다.
자바 런타임 라이브러리, 자바 클래스 로더, 자바 가상 머신(JVM)등을 구성요소로 두 가지 핵심 기술(자바 플러그인, 자바 웹 스타트)을 포함한다.
- 자바 플러그인 : 브라우저에서 응용프로그램을 실행시킬 수 있게 해준다.
- 자바 웹 스타트 : 네트워크를 통해 독립형 애플리케이션을 배포한다.
✨ JRE에는 프로그램 개발을 위한 컴파일러나 디버거와 같은 툴이 없기 때문에 코딩 시 JRE를 사용하게 된다면 문제가 발생할 수도 있다.
결론적으로 자바 다운로드 및 실행시에는 JDK를 다운로드 받으면 JRE를 모두 포함하기 때문에 프로그램 개발 및 실행 까지 가능한 것이다.
🔻자바 다운로드 및 설정
📖 참고자료
더보기
🔗 oracle 공식문서
🔗[Java] 자바 JDK, JRE의 차이점(JDK란? JRE란?)
728x90
반응형
'LANGUAGE > JAVA' 카테고리의 다른 글
[JAVA] 자바 진법 변환 / 10진수 n 진수 변환 & n 진수 10 진수 변환 하기 (1) | 2024.05.21 |
---|---|
[JAVA] 알고리즘 - 동적계획법(DP, Dynamic Programming) 백준 11726번 2xn 타일링 (0) | 2024.03.21 |
[JAVA] 자바 11에서 17로 버전 업그레이드 (0) | 2024.01.08 |
[JAVA] 가비지 컬렉션(Garbage Collection)의 역할 및 동작방법 (0) | 2023.10.09 |
[JAVA] 체크 예외(Checked Exception) 언체크 예외(Unchecked Exception)의 차이 (0) | 2023.08.08 |