코드 한 줄의 기록

자바 개발 완전정복! JDK/JRE/JVM 개념 차이부터 설치까지 한 번에 끝내기 본문

JAVA

자바 개발 완전정복! JDK/JRE/JVM 개념 차이부터 설치까지 한 번에 끝내기

CodeByJin 2025. 9. 15. 08:52
반응형

자바 개발을 시작하려는 사람이라면 누구나 한 번은 만나게 되는 용어들이 있습니다. JDK, JRE, JVM... 이 세 용어는 자바 개발의 핵심이지만 막상 정확한 차이점을 설명하려면 머리가 복잡해지죠. 저도 처음엔 그랬습니다. 지금까지 12년간 PHP를 다루다가 최근 자바로 넘어오면서 이 개념들을 제대로 이해하고 나니, 자바 개발이 훨씬 명확해졌어요.

오늘은 제가 공부하면서 정리한 JDK, JRE, JVM의 차이점과 함께 가장 효율적인 설치 방법까지 모든 것을 정리해보겠습니다.

JVM, JRE, JDK의 관계 - 집중 해부

JVM(Java Virtual Machine) - 자바의 심장
JVM은 자바 바이트코드(.class 파일)를 운영체제가 이해할 수 있는 기계어로 변환하고 실행하는 가상 머신입니다. 쉽게 말해서 자바 프로그램을 실행시키는 엔진이라고 생각하면 됩니다.
JVM의 핵심 역할

  • 바이트코드를 OS에 맞는 네이티브 코드로 변환
  • 메모리 관리 및 가비지 컬렉션 수행
  • "Write Once, Run Anywhere" 철학의 핵심

JVM은 운영체제에 종속적입니다. 왜냐하면 최종적으로는 특정 OS에서 실행될 네이티브 코드를 생성해야 하기 때문이죠.

JRE(Java Runtime Environment) - 실행 환경의 집합체

JRE는 JVM과 자바 프로그램 실행에 필요한 라이브러리들을 묶어놓은 패키지입니다.
JRE의 구성

  • JVM + 표준 클래스 라이브러리
  • 프로퍼티 설정 파일
  • 리소스 파일들

JRE는 자바 프로그램을 실행만 하고 싶을 때 필요한 최소한의 패키지입니다. 하지만 개발 도구(컴파일러 등)는 포함되지 않아요.

JDK(Java Development Kit) - 개발자의 종합 툴킷

JDK는 JRE에 개발에 필요한 도구들을 추가한 개발 키트입니다.
JDK의 구성

  • JRE의 모든 기능
  • javac(자바 컴파일러)
  • javadoc(문서 생성 도구)
  • jar(압축 도구)
  • jdb(디버거) 등

정리하면

  • JVM: 실행 엔진
  • JRE: JVM + 실행 라이브러리 (실행용)
  • JDK: JRE + 개발 도구 (개발용)

Oracle JDK vs OpenJDK - 현명한 선택법

자바 개발환경을 선택할 때 가장 고민되는 부분이 바로 Oracle JDK와 OpenJDK 중 어떤 것을 선택해야 하는가입니다.

Oracle JDK의 특징

장점

  • Oracle의 공식 지원과 장기간 안정성 보장
  • 성능 최적화 기능 포함
  • TCK 인증으로 검증된 안정성

단점

  • 2019년부터 상업적 용도 시 유료화
  • 라이선스 정책이 복잡함

OpenJDK의 특징

장점

  • 완전 무료 오픈소스
  • Oracle JDK와 기본적으로 동일한 코드 베이스
  • 다양한 배포판 선택 가능 (Eclipse Temurin, Amazon Corretto 등)

단점

  • LTS 버전 지원이 상대적으로 짧음
  • 기업 차원의 전문 지원 부족

추천사항

  • 개인 개발자 및 소규모 프로젝트: OpenJDK (특히 Eclipse Temurin) 권장
  • 기업 환경: 장기 지원이 필요하다면 Oracle JDK, 비용 절약이 중요하다면 OpenJDK + 전문 업체 지원

JDK 설치 완전 가이드 (Windows 기준)

1단계: JDK 다운로드
Eclipse Temurin JDK 21 설치 (추천)
Eclipse Temurin은 Eclipse Foundation에서 제공하는 OpenJDK 빌드로, 무료이면서도 안정적입니다.

  1. https://adoptium.net 접속
  2. JDK 21 (LTS) 버전 선택
  3. Windows x64용 .msi 파일 다운로드

Oracle JDK 21 설치 (기업용)

  1. https://www.oracle.com/java/technologies/downloads/ 접속
  2. JDK 21 선택 후 Windows x64 Installer 다운로드
  3. Oracle 계정 로그인 필요

2단계: JDK 설치 실행
다운로드한 .exe 또는 .msi 파일을 관리자 권한으로 실행합니다.
설치 경로 확인

  • 기본 경로: C:\Program Files\Java\jdk-21
  • 설치 경로를 기억해두세요 (환경변수 설정에 필요)

3단계: 환경변수 설정 - 가장 중요한 단계!
환경변수 설정은 시스템 어디서나 자바 명령어를 사용할 수 있게 해주는 핵심 과정입니다.

JAVA_HOME 설정

  1. Windows + Rsysdm.cpl 입력 → 엔터
  2. 고급 탭 → 환경 변수 클릭
  3. 시스템 변수에서 '새로 만들기' 클릭
  4. 변수 이름: JAVA_HOME
  5. 변수 값: JDK 설치 경로 (예: C:\Program Files\Java\jdk-21)

PATH 설정

  1. 시스템 변수에서 'Path' 선택 → 편집
  2. 새로 만들기 → %JAVA_HOME%\bin 입력
  3. 위로 이동 버튼으로 최상단으로 이동

CLASSPATH 설정 (선택사항)

  1. 시스템 변수에서 '새로 만들기' 클릭
  2. 변수 이름: CLASSPATH
  3. 변수 값: %JAVA_HOME%\lib

4단계: 설치 확인
명령 프롬프트(cmd)를 새로 열어서 다음 명령어들을 실행해보세요.

java -version  

javac -version  

두 명령어가 모두 버전 정보를 출력하면 설치가 완료된 것입니다!

IDE 선택과 설정 - 개발 효율성 극대화

IntelliJ IDEA vs Eclipse

IntelliJ IDEA 장점

  • 직관적이고 현대적인 UI
  • 강력한 코드 자동완성과 리팩토링
  • 빠른 성능과 적은 메모리 사용
  • 내장된 다양한 도구들

Eclipse 장점

  • 완전 무료
  • 다양한 플러그인 생태계
  • 대규모 프로젝트 관리에 유리
  • 증분 컴파일로 전체 프로젝트 오류 실시간 확인

추천

  • 초보자: IntelliJ IDEA Community Edition
  • 대규모 팀 프로젝트: Eclipse
  • 현대적 개발 환경 선호: IntelliJ IDEA

IntelliJ IDEA 설치 및 설정

  1. https://www.jetbrains.com/idea/download/ 접속
  2. Community Edition (무료) 다운로드 및 설치
  3. 첫 실행 시 JDK 자동 설치 옵션 활용

새 프로젝트 생성

  • New Project 선택
  • JDK 21 설정
  • 프로젝트 이름과 위치 지정

실전 개발 팁과 주의사항

환경변수 설정 시 흔한 실수들

  1. CMD 창을 새로 열지 않음: 환경변수 변경 후 반드시 새 CMD 창을 열어야 합니다
  2. PATH 순서 무시: %JAVA_HOME%\bin을 PATH 최상단에 배치해야 다른 자바 버전과의 충돌을 피할 수 있습니다
  3. JAVA_HOME 경로 오타: 설치 경로를 정확히 복사해서 붙여넣으세요

버전 관리 팁
여러 자바 버전을 사용해야 할 때는

  • jenv (macOS/Linux) 또는 jabba (Windows) 같은 버전 관리 도구 활용
  • 각 프로젝트별로 다른 JAVA_HOME 설정 스크립트 작성

성능 최적화
JVM 메모리 설정

-Xms512m -Xmx2g  

IDE 메모리 설정

  • IntelliJ: Help → Change Memory Settings
  • Eclipse: eclipse.ini 파일 수정

자바 개발 환경 구축은 처음엔 복잡해 보이지만, 한 번 제대로 이해하고 나면 매우 체계적인 구조라는 것을 알 수 있습니다. JVM의 플랫폼 독립성, JRE의 실행 환경, JDK의 개발 도구 - 이 모든 것이 자바의 "Write Once, Run Anywhere" 철학을 실현하기 위한 설계입니다.

저처럼 다른 언어에서 자바로 넘어오는 개발자든, 완전히 새로 시작하는 초보자든, 이 글의 내용을 차근차근 따라하면 2025년 현재 가장 효율적인 자바 개발 환경을 구축할 수 있을 것입니다.

특히 환경변수 설정 부분은 나중에 다양한 자바 도구들을 사용할 때 반드시 필요한 기초이니, 정확히 설정해두시기 바랍니다. 그리고 OpenJDK를 선택하든 Oracle JDK를 선택하든, 자신의 프로젝트 규모와 예산에 맞는 현명한 선택을 하세요.

이제 여러분도 자바 개발의 첫 걸음을 자신 있게 내딛을 수 있을 것입니다. 화이팅!

자바 메모리 누수(Memory Leak) 원인과 해결법 완벽 가이드

자바 개발을 하다 보면 어느 순간 애플리케이션이 느려지거나 OutOfMemoryError가 발생하는 경험을 하게 됩니다. 저 역시 프로젝트를 진행하면서 이런 문제들을 겪으며 메모리 관리의 중요성을 깨달

byteandbit.tistory.com

반응형