220214 CS 스터디

jathazp·2022년 2월 14일
0

GC란

GC(Garbage Collection)은 메모리 관리 기법 중의 하나이다. 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요 없게 된 영역을 해제하여 반환하는 기능.

장점

GC를 지원하는 환경에서는
1. 프로그래머가 동적으로 할당한 메모리 영역의 전체를 완벽하게 관리할 필요가 없어진다.

  1. GC를 이용하면 유효하지 않은 포인터에 대한 접근, 이중하할당해제,메모리 누수에 대한 버그를 막을 수 있다.

단점

어떤 메모리를 해제할지 결정하는 데 비용이 든다.
객체가 필요 없어지는 시점을 프로그래머가 미리 알고 있는 경우에도 GC 알고리즘이 메모리 해제 시점을 추적해야 하므로 이 작업은 오버헤드가 발생한다.

메모리 할당 해제가 일어나는 타이밍을 사용자가 예측하거나 통제하기 어렵다.

그러므로 프로그램이 예측 불가능하게 일시적으로 정지할 수 있다.

이런 특성은 특히 실시간 시스템에는 적합하지 않다.

참고: https://goodgid.github.io/Java-Garbage-Collection-(1)/

0개의 댓글