PUBLISHED

JDK

작성일: 2023.11.20

JDK

JDK는 자바 개발자용 도구 모음이다. 자바 소스 코드를 작성하고, 컴파일하고, 디버깅하며, 실행할 수 있는 모든 필수 도구가 포함되어 있다. 즉, 자바 프로그래밍을 시작하려면 반드시 JDK가 필요하다. 단순히 자바 프로그램을 실행하는 것과 개발하는 것은 다르다. 개발을 위해서는 소스 코드를 컴파일하는 과정이 필요하고, 이 모든 기능을 JDK가 담당한다. JDK에는 자바 개발에 필요한 다양한 도구가 포함되어 있다. 그중 핵심적인 구성 요소는 아래와 같다.

 

JDK, JRE, JVM의 차이점

자바를 배우다 보면 JDK, JRE, JVM 세 용어가 혼동될 수 있다. 각각의 역할을 명확히 이해하는 것이 중요하다. JVM은 자바 바이트코드를 실행하는 가상 머신으로, 자바 실행 환경의 핵심 엔진 역할을 한다. JRE는 자바 프로그램을 실행하기 위한 환경을 제공하는데, JVM과 자바 클래스 라이브러리를 포함하고 있다. 마지막으로 JDK는 자바 개발 도구의 모음으로, JRE에 컴파일러, 디버거, 문서 생성기 등 개발에 필요한 다양한 도구가 추가된 형태다. 즉, JDK는 개발자용이며, JRE는 사용자용 실행 환경, 그리고 JVM은 자바 프로그램 실행의 핵심 엔진이라고 할 수 있다.

 

Oracle JDK와 OpenJDK

Oracle JDK와 OpenJDK는 기본 코드베이스를 공유하고 있어 성능 면에서는 거의 차이가 없다. 두 JDK 모두 동일한 HotSpot JVM을 사용하며, 같은 최적화 기술이 적용되기 때문에 실제 벤치마크 결과에서도 큰 성능 차이가 나타나지 않는다. 다만, Oracle JDK는 일부 상업용 기능을 포함하고 있는데, 이들은 주로 성능 향상보다는 모니터링과 진단을 위한 도구들이다. 따라서 성능 자체는 두 JDK 간에 큰 차이가 없으며, 선택 시에는 라이선스 정책과 지원 주기, 상업적 사용 여부 등 실질적인 운영 환경에 맞는 조건들을 더 중요하게 고려하는 것이 바람직하다. OpenJDK는 무료 오픈소스 프로젝트로 자유롭게 사용할 수 있지만, Oracle JDK는 상업적 용도로 사용할 경우 별도의 라이선스 비용이 발생할 수 있다. 이런 점들을 종합하여 개발 목적과 환경에 맞는 JDK를 선택하는 것이 좋다.