OpenJDK - Java 개발을 위한 필수 개발 키트
소프트웨어 개요
OpenJDK는 Java 프로그래밍 언어의 공식 오픈소스 구현체로, Java 컴파일러(javac), 자바 가상 머신(JVM), 표준 클래스 라이브러리를 포함하는 Java 개발 키트입니다. Oracle JDK의 소스 코드 기반이며 GPL v2 라이선스로 상업적 사용에도 완전 무료입니다. Eclipse Adoptium(구 AdoptOpenJDK) 프로젝트에서 빌드하는 Temurin이 가장 널리 사용되는 배포판이며, Java 애플리케이션 개발과 실행의 근간이 되는 필수 도구입니다.
주요 기능
OpenJDK의 핵심 기능을 소개합니다:
- Java 컴파일러 - javac 컴파일러로 Java 소스 코드(.java)를 바이트코드(.class)로 변환하며, 컴파일 시점에 문법 오류와 타입 검사를 수행합니다.
- HotSpot JVM - 적응형 JIT(Just-In-Time) 컴파일러가 실행 중 자주 호출되는 코드를 네이티브 코드로 최적화하여 높은 실행 성능을 제공합니다.
- 표준 클래스 라이브러리 - java.lang, java.util, java.io, java.net, java.sql 등 엔터프라이즈 개발에 필요한 방대한 표준 라이브러리를 제공합니다.
- 모듈 시스템 - Java 9에서 도입된 JPMS(Java Platform Module System)로 대규모 애플리케이션의 의존성을 체계적으로 관리합니다.
- 개발 도구 내장 - jdb(디버거), jconsole(모니터링), jmap(메모리 분석), jstack(스레드 덤프) 등 개발과 운영에 필요한 도구가 내장되어 있습니다.
설치 및 설정 가이드
OpenJDK 설치 방법:
- adoptium.net에서 Eclipse Temurin JDK 21 LTS Windows x64 설치 파일을 다운로드합니다.
- 설치 시 Set JAVA_HOME variable과 Add to PATH 옵션을 반드시 체크합니다.
- 터미널에서 java -version과 javac -version으로 설치를 확인합니다.
- 여러 JDK 버전이 필요하면 JAVA_HOME 환경 변수를 전환하거나 IDE의 JDK 설정을 변경합니다.
활용 팁
OpenJDK 활용 팁:
- LTS 버전 선택: 프로덕션 환경에서는 LTS(Long Term Support) 버전인 JDK 17 또는 21을 사용하세요. LTS는 최소 4년간 보안 업데이트를 받습니다.
- JAVA_HOME 설정 확인: 시스템 환경 변수에 JAVA_HOME이 올바르게 설정되어 있어야 Maven, Gradle, IDE가 JDK를 인식합니다.
- jshell 활용: JDK 9 이상에서 jshell을 실행하면 Java 코드를 한 줄씩 대화형으로 실행해볼 수 있어 문법 학습과 빠른 테스트에 유용합니다.
- Garbage Collector 선택: JDK 21에서는 G1GC가 기본이며, 저지연이 필요하면 ZGC(-XX:+UseZGC)를 사용하세요. 워크로드에 맞는 GC를 선택하면 성능이 크게 향상됩니다.
장단점 분석
| 장점 | 단점 |
|---|---|
| GPL v2 라이선스로 상업적 사용 포함 완전 무료 | Oracle JDK 대비 상업 지원이 제한적 |
| Oracle JDK와 기능적으로 동일한 호환성 | 다양한 배포판(Temurin, Corretto, Zulu 등) 선택이 혼란스러울 수 있음 |
| Eclipse Temurin 등 신뢰할 수 있는 배포판 다수 | Windows에서 환경 변수 설정이 초보자에게 어려울 수 있음 |
| LTS 버전은 장기간 보안 업데이트 제공 | JRE만 필요한 경우에도 전체 JDK를 설치해야 함 |
대안 프로그램 비교
Oracle JDK는 공식 배포판으로 상업 지원이 강점이지만 상업적 사용 시 유료 구독이 필요합니다. Amazon Corretto는 AWS에서 배포하는 무료 JDK로 AWS 환경에 최적화되어 있습니다. Azul Zulu는 풍부한 플랫폼 지원과 상업 지원을 제공합니다. GraalVM은 네이티브 이미지 컴파일이 가능한 고성능 JDK 대안입니다. 범용적으로는 Eclipse Temurin이 가장 권장됩니다.
자주 묻는 질문
기능적으로 거의 동일합니다. Oracle JDK는 Oracle의 상업 지원과 일부 추가 도구를 포함하며, 상업적 사용 시 유료 구독이 필요합니다. OpenJDK는 GPL v2로 완전 무료이며, Eclipse Temurin 등의 배포판을 통해 안정적으로 사용할 수 있습니다.
신규 프로젝트라면 최신 LTS인 JDK 21을 권장합니다. 기존 프로젝트가 특정 버전을 요구하면 해당 버전을 설치하세요. JDK 8, 11, 17, 21이 주요 LTS 버전입니다.
JDK(Java Development Kit)는 컴파일러, 디버거 등 개발 도구를 포함하며, JRE(Java Runtime Environment)는 Java 프로그램 실행만을 위한 런타임입니다. 개발자는 JDK를, 실행만 하는 사용자는 JRE만 필요합니다.
참고문헌
- Oracle/Eclipse 공식 사이트 — Oracle/Eclipse
- OpenJDK 다운로드 페이지 — Oracle/Eclipse
이 리뷰가 도움이 되었나요?