프로그래밍/JAVA

JDK, JRE, JVM, GC.... 이것들은 뭘까?

개발자 덕구🐾 2022. 8. 31. 20:41
728x90

 

 

 

 

 

 

자바를 설치할 때 보면 2가지로 나뉘어져 있다.

1. JDK :  Java Development Kit 

2. JRE : Java Runtime Environment 

 

JRE는 자바를 실행할 수 있는 환경의 집합이다. 

 

JDK가 JRE를 포함하고 있다. 

 

 

JAVA로 개발을 하려면 JDK가 필요하고 JAVA프로그램을 실행시키 위해서는 JRE만 있으면 된다. 

 

 

 

 


 

JVM : Java Virtual Machine 

GC : Garbage Collector 

 

 

JVM은 자바 프로그램이 수행되는 프로세스를 말하여 메모리 관리를 한다. 

JVM 내에서 메모리 관리를 해주는 것이 GC (가비지 컬렉터)이다. 

 

 

 

JAVA는 ios든 window든 어디서든 실행할 수 있다. 이는 자바가 OS에 종속되어있지 않기 때문이다. 

종속되지 않고 실행을 하기 위해서는 OS 위에서 JAVA를 실행시킬 무언가가 필요한데 이것이 바로 JVM이다. 

 

즉, JVM은 OS에 종속받지 않고 CPU가 JAVA를 인식, 실행할 수 있게 하는 가상 컴퓨터이다. 

 

 

 

JAVA언어는 자바 컴파일러가 bytecode로 컴파일을 하고

그  후에 JVM에서 기계코드로 변경해준다.  (OS가 이해할 수 있도록 )

 

 

 

 

 

 

 

 

참고 블로그 : 

 

https://doozi0316.tistory.com/entry/1%EC%A3%BC%EC%B0%A8-JVM%EC%9D%80-%EB%AC%B4%EC%97%87%EC%9D%B4%EB%A9%B0-%EC%9E%90%EB%B0%94-%EC%BD%94%EB%93%9C%EB%8A%94-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%8B%A4%ED%96%89%ED%95%98%EB%8A%94-%EA%B2%83%EC%9D%B8%EA%B0%80

 

[JAVA] JVM이란? 개념 및 구조 (JDK, JRE, JIT, 가비지 콜렉터...)

JVM이란 무엇인가 Java Virtual Machine의 줄임말. 직역하면 '자바를 실행하기 위한 가상 기계(컴퓨터)'라고 할 수 있다. Java 는 OS에 종속적이지 않다는 특징을 가지고 있다. OS에 종속받지 않고 실행되

doozi0316.tistory.com

 

 

반응형