가비지 컬렉터 회피 전략

Minsang Kim·2023년 10월 31일
0

오늘으 질문

가비지 컬렉터를 회피하기 위한 전략은 무엇이 있나요 ?

오늘으 답변

가비지 컬렉터는 메모리를 자동으로 관리해주지만, 성능저하가 발생할 가능성이 있기 때문에 가비지 컬렉션을 회피하는 전략이 필요할 수 있다. 이에는 메모리 할당 최소화, 가비지 컬렉션 메소드 직접 호출 피하기, IDisposable 인터페이스 사용, 종료자 사용 최소화, 값 타입 사용으로 가비지 컬렉터로 인한 성능 저하 문제를 해결할 수 있을 것이다.

+ TMI

메모리 할당 최소화 : 재사용 가능한 객체는 미리 생성하고, 임시 객체의 생성을 최소화한다.

가비지 컬렉터 실행 메소드 System.GC.Collect() ▶[LINK]

System.IDisposable 인터페이스 멤버 void Dispose()
이 메소드를 호출함으로써 자체적으로 리소스를 해제할수 있다. (가비지 컬렉터 일 대신해버리기)

종료자 = 소멸자 = Finalizer.
종료자를 사용하면 가비지 컬렉션 프로세스가 느려질 수 있다.

참조 타입인 클래스보다 값 타입인 스트럭트 씁시다.
힙 메모리 대신에 스택 메모리를 사용하기 때문에 가비지 컬렉션의 대상이 되지 않는다.

profile
게임만 하다가 개발자로

0개의 댓글