본문 바로가기

GC

(2)
Garbage Collector (정의와 종류) Garbage Collector ( 정의, 종류 ) GC란? 자바 언어로 프로그래밍을 할 때 우리는 인스턴스를 생성하고 사용한 이후에 이에 대한 메모리를 해제하지 않는다. 메모리를 직접적으로 관리해줘야 하는 언어와 달리 JVM 기반 언어는 Garbage Collector가 사용되지 않는 메모리 영역(Garbage)을 청소해주기 때문이다. 이렇게 Garbage Collector의 대상이 되는 영역은 JVM 메모리의 Heap 영역이다. Weak Generational Hypothesis (JVM의 GC는 두 가지 가설을 전제로 역할을 수행한다.) 대부분의 객체는 금방 접근할 수 없는(Unreachable) 상태가 된다. 오래된 객체에서 새로운 객체로의 참조는 매우 드물게 발생한다. 위의 그림을 보면 실제로 .. 더보기
JVM (Java Virtual Machine)과 메모리 영역 JVM(Java Virtual Machine) JDK, JRE, JVM 등이 무어인지 명확히 정의하지 못할 때가 많다. JDK란 java development kit의 약자로 JRE + Development Kit(개발을 위한 도구) 이라고 쉽게 생각하면 된다. JRE란 Java Runtime Environment의 약자이다. 그리고 이 JRE는 JVM + libraries 이라고 생각하면 된다. JVM은 Java Virtual Machine 선 마이크로 시스템즈에서 개발했다. 원래의 목적은 가전 제품들에 사용하는 코드를 어떠한 운영체제를 사용하더라도 돌아가게 만드는게 목적이었다. 그 목적을 이루기위해서는 운영체제 위에 virtual machine을 두어서 이 가상 머신이 동일한 코드를 넣으면 각 운영체.. 더보기