| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
- 자바개발
- 개발공부
- 코딩인터뷰
- 코딩테스트준비
- 프로그래밍기초
- 자바
- 알고리즘
- JVM
- 프로그래머스
- 자바공부
- 코딩공부
- 파이썬
- 코딩테스트
- 개발자취업
- 객체지향
- 메모리관리
- HashMap
- 예외처리
- 멀티스레드
- 백준
- 알고리즘공부
- 클린코드
- 개발자팁
- 자바기초
- 정렬
- 자료구조
- Java
- 자바프로그래밍
- 코딩테스트팁
- 가비지컬렉션
- Today
- Total
코드 한 줄의 기록
자바 개발 완전정복! JDK/JRE/JVM 개념 차이부터 설치까지 한 번에 끝내기 본문
자바 개발을 시작하려는 사람이라면 누구나 한 번은 만나게 되는 용어들이 있습니다. 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 빌드로, 무료이면서도 안정적입니다.
- https://adoptium.net 접속
- JDK 21 (LTS) 버전 선택
- Windows x64용 .msi 파일 다운로드
Oracle JDK 21 설치 (기업용)
- https://www.oracle.com/java/technologies/downloads/ 접속
- JDK 21 선택 후 Windows x64 Installer 다운로드
- Oracle 계정 로그인 필요
2단계: JDK 설치 실행
다운로드한 .exe 또는 .msi 파일을 관리자 권한으로 실행합니다.
설치 경로 확인
- 기본 경로:
C:\Program Files\Java\jdk-21 - 설치 경로를 기억해두세요 (환경변수 설정에 필요)
3단계: 환경변수 설정 - 가장 중요한 단계!
환경변수 설정은 시스템 어디서나 자바 명령어를 사용할 수 있게 해주는 핵심 과정입니다.
JAVA_HOME 설정
Windows + R→sysdm.cpl입력 → 엔터- 고급 탭 → 환경 변수 클릭
- 시스템 변수에서 '새로 만들기' 클릭
- 변수 이름:
JAVA_HOME - 변수 값: JDK 설치 경로 (예:
C:\Program Files\Java\jdk-21)
PATH 설정
- 시스템 변수에서 'Path' 선택 → 편집
- 새로 만들기 →
%JAVA_HOME%\bin입력 - 위로 이동 버튼으로 최상단으로 이동
CLASSPATH 설정 (선택사항)
- 시스템 변수에서 '새로 만들기' 클릭
- 변수 이름:
CLASSPATH - 변수 값:
%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 설치 및 설정
- https://www.jetbrains.com/idea/download/ 접속
- Community Edition (무료) 다운로드 및 설치
- 첫 실행 시 JDK 자동 설치 옵션 활용
새 프로젝트 생성
- New Project 선택
- JDK 21 설정
- 프로젝트 이름과 위치 지정
실전 개발 팁과 주의사항
환경변수 설정 시 흔한 실수들
- CMD 창을 새로 열지 않음: 환경변수 변경 후 반드시 새 CMD 창을 열어야 합니다
- PATH 순서 무시:
%JAVA_HOME%\bin을 PATH 최상단에 배치해야 다른 자바 버전과의 충돌을 피할 수 있습니다 - 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
'JAVA' 카테고리의 다른 글
| Java 개발자를 위한 완벽한 IDE 선택 가이드: IntelliJ, Eclipse, VS Code 비교와 실전 활용법 (0) | 2025.09.17 |
|---|---|
| 초보자를 위한 Java PATH/JAVA_HOME 설정과 첫 번째 Hello World 실행하기 (Maven/Gradle 없이) (0) | 2025.09.16 |
| 자바 메모리 누수(Memory Leak) 원인과 해결법 완벽 가이드 (0) | 2025.09.13 |
| 자바 객체지향 설계를 망치는 7가지 이해 부족 실수와 올바른 접근법 (0) | 2025.09.12 |
| Java 개발자를 위한 필수 가이드: main 메소드 의존 습관을 버리고 깔끔한 코드로 나아가는 길 (0) | 2025.09.11 |