1. Garbage Collector (가비지 콜렉터)


# JVM 메소드를 관리하는 가비지 콜렉터


1) 프로그램을 실행하다보면, 'Garbage (쓰레기)' 가 발생된다.

   Garbage는 정리되지 않은 메모리로서, 이를 가비지 콜렉터가 자동으로 제거해준다. 


2) 가비지 컬렉터가 데이터를 삭제하는 알고리즘은 힙의 세부 영역에 따라서 다르게 적용된다. 

    즉, 가비지 컬렉터가 수행되는 빈도와 지우는 속도는 세부 영역마다 다르다. 

    예를 들어, Young이라는 영역에서 사용되는 가비지 컬렉터는 자주 그리고 빠르게 수행되는 알고리즘을 사용한다. 

    그래서 Young 영역의 데이터 저장과 삭제는 빈번하게 발생하며 대부분의 데이터는 짧은 시간 동안 존재한다.

    이러한 데이터들이 메모리 영역에서 삭제되면 프로그램은 에러를 발생하거나 다시 데이터를 생성해야 한다. 

    이 모든 것을 JVM이 알아서 관리해주니 개발자는 신경쓰지 않아도 된다.



1
2
3
4
5
6
int[] arr = new int[2];
arr[0= 0;
arr[1= 1;
 
arr = new String[] {"aa""bb""cc"};
System.out.println(arr[0]);    // aa
cs


# 설명

Line 5: 앞서 Line 1~3을 통해 초기화한 값들은 더이상 필요로 하지 않기 때문에 가비지 콜렉터에서 제거해준다.