CLR 메모리 해제의 비결정적 특성: GC와 Finalizer의 동작 원리
CLR 환경에서 객체의 생명 주기를 관리하는 메커니즘은 개발자가 직접 메모리를 제어하는 것과는 거리가 멀다. 특히 Finalizer의 존재와 GC.Collect()의 실제 의미를 정확히 이해하지 못하면, 리소스 누수나 예측 불가능한 성능 저하를 경험하게 된다.
Finalizer의 본질
C#에서 종료자는 다음과 같이 선언한다.
public sealed class ResourceHolder
{
private FileS ...
6월 25일 01:30에 게시됨