- 참고링크 : https://wikidocs.net/257
- 참고링크 : https://m.blog.naver.com/duqrlwjddns1/221770110714
# JVM (Java Virtual Machine) + 가비지 컬렉션(Garbage Collection)
- JVM은 자방 가상머신이다. 자바로 작성된 코드를 실행할 수 있도록 도와주는 가상의 머신이라고 생각하면 된다. 자바로 코딩된 파일은 .class라는 바이너리 파일로 컴파일 되어 실행되는데 이것을 도와주는 일종의 툴이다.
- 자바는 가상환경에서 실행되는 것이기 때문에 윈도우 뿐만 아니라 다른 운영체제 리눅스, 맥, 심지어 기계에서도 실행이 가능하다.
- 가비지 컬렉터(Garbage Collector), JVM내에서 메모리를 관리하는 프로세스를 지칭하는 용어이다. 자바 프로그램상에서 사용하지 않는 메모리를 지속적으로 찾아 제거함으로서 효율적인 메모리 관리를 가능하게 한다.
- 가령 선언하고 사용하지 않는 변수, 불필요하게 정의된 메소드 등 프로그램 내에서 메모리를 사용하였지만 활용되지 않는 요소들을 찾아서 제거하는 역할을 하고 있다. 기존의 타 언어(C ..)는 메모리를 직접 관리하여야 했지만, 자바에서는 가비지 컬렉터와 같은 것으로 메모리를 자동으로 관리해주기 때문에 효율적이다.
# JRE (Java Runtime Enviroment)
- JRE(Java Runtime Enviroment)는 JVM이 원활하게 작동할 수 있도록 환경을 맞추어 주는 역할을 한다. JRE에는 JVM과 자바 클래스 라이브러리(Java Class Libraries) 그리고 자바 클래스 로더(Java Class Loader)를 포함한다.
- JRE는 자바 클래스 라이브러리와 자바 클래스 로더를 결합하고, JVM에게 제공하여 JVM을 작동한다. JRE는 단어 그대로 JVM이 실행할 수 있는 환경을 의미한다.
# JDK (Java Development Kit)
- JDK(Java Development Kit)이 바로 우리가 java라고 일컫는 것이다. JDK는 JVM과 JRE를 포함한다. JDK안에는 JRE를 포함하고 있고, JRE는 JVM을 포함하고 있기 때문에 JDK를 설치하면 JRE와 JVM이 같이 설치되는 것이다.
- 그렇다면 JRE와 JDK는 어떠한 차이가 있는가? JDK에는 JRE에 없는 자바 컴파일러(JAVAC: Java Compiler)가 포함 되어있다. 따라서 자바를 실행만 하고자 한다면 JRE만 있어도 되지만, 자바를 개발하고자 한다면 JDK가 필요한 것이다.
- 상기와 같은 내용이라면, 자바로 구성된 프로그램을 실행하려면 모두가 JDK를 설치해야 한다. 그러나 실제는 그렇지 않다. 자바로 프로그램을 개발하려고 하는 자는 JDK를 설치하여 환경을 구성하고 개발하여야 하지만 실행만 하고자 하는 자는 JRE만 설치한다면 실행만 하는것이 가능하다.
'Language > Java' 카테고리의 다른 글
공부내용 정리 Java :: 예제 3 (0) | 2021.06.24 |
---|---|
공부내용 정리 Java :: 예제 2 (0) | 2021.06.16 |
공부내용 정리 Java :: 예제 1 (0) | 2021.06.16 |
공부내용 정리 Java :: 기초 2 - 객체지향 I (0) | 2021.06.16 |
공부내용 정리 Java :: 기초 VII (0) | 2021.06.16 |