java/❓
JVM, JDK, JRE 차이는?
wugawuga
2022. 11. 21. 14:23
JVM(Java Virtual Machine)
자바로 작성된 어플리케이션은 JVM 에서만 실행이 된다
그렇기 때문에 JVM 은 반드시 필요
- java 는 JVM 을 거치고, 실행을 해야 해석이 되기 때문에 느리다는 단점을 가진다
- 컴파일 된 자바코드 (바이트 코드)를 하드웨어 기계어로 변환해주는 기술이 좋아져 속도가 많이 개선
OS 별로 JVM 이 있다
- 이 말은 'java는 OS에 종속적이지 않다' 라고 말할 수 있다
- 다르게 말하면 JVM 은 OS에 종속적이다
- 어디서든 작성이 되면 다른 OS 가 JVM 만 가지고 있다면 실행이 됨
JRE(Java Runtime Environment)
- JVM 이 자바 프로그램을 실행시킬 때 필요한 파일들을 가지고 있다
JDK(Java Development Kit)
- JRE + 개발에 필요한 도구를 포함한 것
- 개발에 필요한 도구란 javac, java 등 이다
- javac 는 java 파일을 바이트 코드로 컴파일 해준다
- java 는 위에서 컴파일 된 .class 파일을 실행시킬 수 있다