가비지와 가비지 컬렉션
가비지(Garbage)
- 응용프로그램에서 더 이상 사용되지 않는 메모리(무효 영역)
- new 연산자를 이용하여 시스템으로부터 할당 받아 사용되어오다가 더 이상 사용하지 않는 객체나 배열 메모리가 가비지에 해당
- 더 이상 사용하지 않는다는 것은 객체나 배열을 가리키는 레퍼런스가 하나도 없음을 의미
가비지 컬렉션(Garbage Collection)
- 가비지를 회수하여 가용 메모리 공간을 늘리는 것을 의미
- 가비지 컬렉터(자바 가상 기계에 존재)가 수행
- 가상 기계의 내부적인 알고리즘의 판단에 의해 수행되기 때문에 언제 가비지 컬렉션이 발생하는지 알기 어려움
- System.gc() or Runtime.getRuntime().gc() 메소드를 통해 강제로 수행 가능
- 메소드 실행시 바로 작동되는 것이 아니라 요청하는 작업
- 가비지 컬렉터는 finalize()라는 소멸자 메소드를 호출하여 메모리를 해제
반응형
'Java' 카테고리의 다른 글
string vs stringBuilder vs stringBuffer (1) | 2015.06.07 |
---|---|
배열 vs 벡터 (0) | 2015.06.07 |
오버로딩 vs 오버라이딩 (0) | 2015.06.07 |
Reflection (0) | 2015.06.07 |
Inner Class (0) | 2015.06.07 |
댓글