JVM, JRE, JDK 이란

2022. 11. 11. 14:35책 공부/스프링 입문을 위한 자바 객체 지향의 원리와 이해

반응형

※ 해당 게시물은 스프링을 위한 자바 객체 지향의 원리와 이해 ( 김종민 지음 ) 을 읽고 요약하여 작성한 것입니다.

 

 

이해하기 쉽게 먼저 JVM, JRE, JDK 의 원래 명칭을 알아두자. 

 

- JVM ( Java Virtual Machine )  / 자바 가상 기계  ( 가상의 컴퓨터 )

- JRE ( Java Runtime Environment ) / 자바 실행 환경 ( JVM용 OS )

- JDK ( Java Development Kit ) / 자바 개발 도구 ( JVM용 소프트웨어 개발 도구 )

 

JVM 은 이름 그대로 가상 기계이다.

컴퓨터를 구동하기 위해서는 물리적 컴퓨터인 하드웨어와 운영체제, 그리고 그 위에서 구동될 소프트웨어가 필요하다.

거기에 더해 소프트웨어를 개발할 수 있는 개발 도구가 필요하다.

 

자바도 마찬가지이다.

JDK를 이용해 개발된 소프트웨어는 JRE 이라는 운영체제에 의해 가상의 컴퓨터인 JVM에서 구동된다.

즉, 자바 프로그램을 작성하면 JVM이 중재자로서 각 플랫폼에서 프로그램을 구동하는 데 아무 문제가 없게끔 만들어 주는 것이고 이러한 자바의 특성을 Write Once Run Anywhere 라고 한다.

 

자바 프로그램의 개발과 구동

 

JVM의 메모리 구조

<----- Java Heap -----> <--------- Native Memory --------->
+------+----+----+-----+-----------+--------+--------------+
| Eden | S0 | S1 | Old | Metaspace | C Heap | Thread Stack |
+------+----+----+-----+-----------+--------+--------------+

 

 

반응형

'책 공부 > 스프링 입문을 위한 자바 객체 지향의 원리와 이해' 카테고리의 다른 글

상속성  (0) 2022.11.14
추상화 ( Abstracion )  (0) 2022.11.14
객체 지향의 4대 특성  (0) 2022.11.14
객체(Object)와 클래스(Class)  (0) 2022.11.11
들어가며  (0) 2022.11.11