JVM 이란?
코딩 할때 쓰이는 자바나 C 파이썬같은 언어들은 사람이 보기 편하게 만들어진 프로그램임.
그렇게 만들어진 프로그래밍 언어를 컴퓨터가 알아들을 수 있게 기계어로 바꿔주는 작업을 C나 자바같은 컴파일 언어에서는 컴파일러가 해줌.
컴파일 후에는 바이트코드가 생김.
하지만 모든 컴퓨터가 같은 기계어를 쓰진 않음. 윈도우/ 맥 처럼.
JVM 은 컴퓨터가 이 프로그램을 실행할 때 바로바로 컴퓨터 언어로 바꿔줌. 대사관 통역가 같은 느낌.
JRE 란?
자바로 짠 소프트웨어가 컴파일 및 빌드까지 완료된 후 사용할 곳에 주어져서 실행될 때 그 환경 요소들로서 필요한 것.
예를들어 자바의 자료구조 기능들인 List 나 Map, Set 같은걸 사용할 수 있는 이유는 사용자가 하나하나 구현했기 때문이 아니라
이것들이 바이트코드로 컴파일된 클래스로 제공이 되었기 때문임.
JVM도 JRE에 포함되어 있음