| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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
- 백준
- Spring
- 스프링
- 파이썬
- proxy
- 모던자바
- Python
- 문자열
- spring security
- Deadlock
- java
- 객체지향
- 알고리즘
- test
- 자바
- 리플렉션
- redis
- OS
- MST
- CS
- 모던 자바 인 액션
- 프록시
- 최소 신장 트리
- 약수
- 운영체제
- Reflection
- 다이나믹 프록시
- BOJ
- Junit5
- 스프링 시큐리티
Archives
- Today
- Total
Dev 달팽이 @_''
Java- JVM, JDK, JRE 본문
JAVA - JVM, JDK, JRE

JVM (Java Virtual Machine)
- 자바 가상 머신으로 자바 바이트 코드(.class 파일)를 OS에 특화된 코드로 변환(인터프리터와 JIT 컴파일러)하여 실행한다.
- 바이트 코드를 실행하는 표준(JVM 자체는 표준)이자 구현체(특정 밴더가 구현한 JVM)다.
- JVM 밴더 : 오라클, 아마존, Azul
- 특정 플랫폼에 종속적 (네이티브 코드로 바꿔야 하는데 네이티브 코드가 OS에 맞춰서 실행해야 하기 때문에)
JRE (Java Runtime Environment)
- 자바 애플케이션을 실행할 수 있도록 구성된 배포판
- JVM과 핵심 라이브러리 및 자바 런타임 환경에서 사용하는 프로퍼티 세팅이나 리소스 파일을 가지고 있다. (JVM+라이브러리)
- 개발 관련 도구는 포함되지 않는다. (JDK에서 제공)
JDK (Java Development Kit)
- JRE+개발에 필요한 툴
- 소스 코드를 작성할 때 사용하는 자바 언어는 플랫폼 독립적
- 오라클은 자바 11부터 JDK만 제공하여 JRE를 따로 제공하지 않는다.
Java
- 프로그래밍 언어
- JDK에 들어있는 자바 컴파일러(javac)를 사용하여 바이트코드(.class 파일)로 컴파일 할 수 있다.
- 자바와 JDK 구분
JVM 언어
- JVM 기반으로 동작하는 프로그램 언어
- 클로저, 그루비, JRuby, Jython, Kotlin, Scala, ...
'Java&Spring > 더 자바, 코드를 조작하는 다양한 방법' 카테고리의 다른 글
| Java - 리플렉션 API(클래스 정보 조회) (0) | 2022.01.09 |
|---|---|
| Java - 바이트코드 조작 (0) | 2022.01.09 |
| Java - 코드 커버리지 (0) | 2022.01.07 |
| Java - 클래스 로더 (0) | 2022.01.07 |
| Java - JVM 구조 (0) | 2022.01.06 |