본문 바로가기
Java

가비지와 가비지 컬렉션

by 기리의 개발로그 2015. 7. 31.

가비지와 가비지 컬렉션



가비지(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

댓글