ABOUT

성능과 운영 안정성을 함께 끌어올리는 개발자입니다.

92% Positional Error Reduction
79% p95 Latency Improvement
90%+ Long Tasks Reduction

2022.02 · 한국장학재단

우수 멘티

한국장학재단 사회 리더 대학생 멘토링 IT

2022.10 · 동작구청

우수 인재상

동작구청 우수 SW 인재

2025.05 · (주) 그랩

프로그래밍 우수상

(주) 그랩 우수 프로그램 개발

2025.05 · AWSKRUG

AWS한국사용자모임 발표

AI agent 스크립트 튜닝 관련 발표

ComputerScience

Development

Engineering

Trouble Shooting

GUESTBOOK

첫 마음부터
함께 나누는 온기

방명록 작성하러 가기

SUBSCRIBE

최신소식을
편하게 만나보세요.

JRE (Java Runtime Environment)

정의
자바 프로그램을 “실행”하기 위한 실행 환경입니다.

JRE는 개발 도구 세트(JDK)와 달리, 자바 애플리케이션을 빌드/컴파일하는 도구는 포함하지 않습니다. 대신 실행에 필요한 JVM핵심 라이브러리(Java 표준 클래스), 그리고 실행 관련 구성요소를 제공합니다.

쉽게 말해, JRE는 “자바 앱을 돌릴 수 있게 해주는 최소 패키지”이고, JDK는 “자바 앱을 만들 수 있게 해주는 전체 개발 키트”입니다.

핵심 메시지

“JRE는 실행에 필요한 것만 묶은 패키지다.
그래서 컴파일러(javac)는 없다.”

- 실행과 개발을 분리하면 환경이 단순해진다 -
구성 요소
JRE는 크게 JVM + 표준 라이브러리 + 실행 지원 구성으로 구성됩니다.
구성 예시 역할
JVM HotSpot JVM 바이트코드를 로딩/검증하고 실행(JIT 컴파일 포함)
표준 라이브러리 java.lang, java.util 컬렉션, IO, 네트워크, 동시성 등 기본 기능 제공
실행 지원 java 명령 프로세스 실행, 클래스패스 설정, 런타임 옵션 적용
JDK vs JRE vs JVM
실무에서 가장 많이 헷갈리는 3종 세트
용어 한 줄 정의 포함 관계
JVM 실행 엔진 바이트코드 실행 담당(가장 안쪽)
JRE 실행 환경 JVM + 표준 라이브러리 (실행에 필요한 묶음)
JDK 개발 키트 JRE + 개발 도구(javac, jar, javadoc...)

💡 TIP / 참고사항

요즘은 “JDK만 설치하면 끝”인 경우가 많습니다. 왜냐하면 최신 배포 방식(도커, CI/CD, 서버 운영)에서 개발/실행 환경을 분리하기보다 JDK를 표준으로 맞추는 게 더 흔해졌기 때문입니다.
다만 개념적으로는 “실행만 필요한 환경”이 존재하고, 그때 JRE 개념이 도움이 됩니다.

 

실전에서 JRE가 등장하는 순간
“서버는 실행만 한다”라는 요구가 있을 때

✅ 이런 상황에서 필요

  • 운영 서버에 “컴파일러 없이 실행만” 하길 원할 때
  • 이미 빌드된 JAR/WAR를 받아서 실행하는 배포 구조
  • 런타임만 최소로 가져가 컨테이너 크기를 줄이고 싶을 때

⚠️ 하지만 조심할 점

  • 운영 중 진단 도구가 부족해(또는 제한돼) 분석이 어려울 수 있음
  • 라이브러리/모듈 구성 차이로 “로컬과 서버가 다르게 동작”할 위험
  • 결국 실무에서는 JDK로 통일해 문제 재현성을 확보하는 경우가 많음

✅ 핵심 요약

  • ✔️ JRE는 자바 프로그램을 실행하기 위한 환경이며, JVM + 표준 라이브러리로 구성된다.
  • ✔️ JDK는 JRE에 개발 도구까지 포함한 개발 키트다.
  • ✔️ 실무에선 보통 JDK로 통일하지만, “실행만” 필요한 최소 환경 개념으로 JRE를 이해하면 좋다.
728x90