결론부터 이렇게 정리하자.
자바개발도구 JDK를 이용해 개발된 프로그램은 JRE에 의해 JVM OS위에 돌아간다.
자바 실행환경.
jvm이 자바프로그램을 실행시킬 수 있게 필요한 라이브러리 파일들과 기타 파일들 제공. 환경을 제공한다. jre 안에 jvm이 있다.
단순히 어떤 사용자는 jdk(javac나, java 등)을 필요하지 않을 수 있기에 jre만 설치할 수 있게 따로 라이브러리로 만든 것이다!
자바 개발도구.
JRE
+ 개발을 위해 필요한 도구 javac(자바 컴파일러), java 등 을 포함한다.
즉, jdk를 설치하면 자동으로 jre도 설치되는 것이다!
포함관계로는 jdk > jre > jvm이다.
그러니 자바를 사용하기 위해서는 jdk파일 꼭 받아야 한다.
자바는 main() 메서드가 프로그램의 시작점이자 끝이다.
main() 메서드가 끝나면 JRE는 JVM을 종료하고 JRE 자체도 운영체제 상 메모리에서 사라진다. 그럼 JVM 메모리도 같이 사라지게 되는것이다.