Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- Serialization
- buffer
- 이스케이프 문자
- s
- Stack
- 알기쉬운 알고리즘
- Graph
- coding test
- R
- JSON
- ㅅ
- insertion sort
- C programming
- Algorithm
- stream
- list 컬렉션
- 메모리구조
- C 언어 코딩 도장
- datastructure
- 이것이 자바다
- 혼자 공부하는 C언어
- Selection Sorting
- 윤성우의 열혈 자료구조
- 윤성우 열혈자료구조
Archives
- Today
- Total
Engineering Note
[Java] JDK, JRE, JVM 개념 및 Java가 실행되는 원리 본문
Programming Language/Java
[Java] JDK, JRE, JVM 개념 및 Java가 실행되는 원리
Software Engineer Kim 2025. 7. 7. 16:38Java로 프로그램을 개발하려면 컴퓨터에 **JDK(Java Development Kit)**를 설치해야 한다.
JDK는 JRE(Java Runtime Environment)와 javac(자바 컴파일러) 등 개발에 필요한 도구들이 포함된 개발 키트다.
JRE는 JVM(Java Virtual Machine)과 자바 표준 라이브러리(프로그램 실행에 필요한 클래스 파일 등)로 구성되어, 자바 프로그램을 실행할 수 있는 환경을 제공한다.
JDK를 설치하면 설치 디렉터리의 bin 폴더에 java 파일이 있는데, 이 파일이 JVM을 띄우는 실행파일(런처)이다. 같은 디렉토리에 javac 파일이 java 컴파일러다.
예를 들어, MyClass.java라는 자바 소스파일을 만든 후,
javac MyClass.java
이렇게 컴파일하면 MyClass.class(바이트코드)가 생성된다.
java MyClass
이렇게 실행하면, JVM이 메모리에 올라가서 MyClass.class(바이트코드)를 읽고 MyClass 프로그램이 동작하게 된다.
참고로, lib 디렉터리에 보면 src.zip이라는 파일이 있는데 이 파일이 우리가 자주 사용하는 ArrayList 등이 있는 java.util.ArrayList 같은 표준 라이브러리들이 들어있다.
핵심 포인트
- JDK = JRE + javac(컴파일러) + 기타 개발 도구(javadoc 등)
- JRE = JVM + 자바 표준 라이브러리
- JVM은 바이트코드 실행 엔진
- 자바 표준 라이브러리는 우리가 import해서 쓰는 각종 자바 클래스들
'Programming Language > Java' 카테고리의 다른 글
| [Java] 직렬화(Serialization) 개념과 직렬화를 하는 이유 (0) | 2025.07.19 |
|---|---|
| [Java] exception handling(예외 처리) (0) | 2025.07.10 |
| [Java] 예외처리와 예외의 종류 (1) | 2025.07.07 |
| [Java] List 컬렉션(ArrayList, LinkedList) (0) | 2025.06.25 |
| [Java] 컬렉션 자료구조 (0) | 2025.06.25 |
Comments