728x90

가비지컬렉션 2

[Java] 가비지 컬렉션 GC(Garbage Collection)의 동작원리와 동작하는 시점

Garbage Collection(가비지 컬렉션)이란? 메모리 관리 기법 중 하나로 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요없게 된 영역을 해제하는 기능. 즉, 동적 할당된 메모리 영역 가운데 어떤 변수도 가리키지 않는 메모리 영역을 탐지하여 자동으로 해제를 하는 기법이다. 장점 : GC를 이용하게 되면 개발자가 동적으로 할당한 메모리 영역 전체를 완벽하게 관리하지 않아도 된다. GC를 통해 유효하지 않은 포인터 접근이나 메모리 누수 같은 버그를 줄이거나 막을 수 있다. 유효하지 않은 포인터 접근 : 이미 동적 할당한 메모리를 해제한 영역에 접근하게 되는 버그 이중 해제 : 이미 해제된 메모리를 또 다시 해제하는 오류를 줄일 수 있음. 메모리 누수 : 더 이상 사용하지 않는 메모리 영역을 해..

JAVA 2022.03.29

[Java] GC 종류별 차이

GC(Garbage Collector) 란? Java로 개발을 하면서 Memory 관련 Error는 접할 수 밖에 없는 문제이며, 해당 에러가 운영환경에서 발생하였을경우 단계적으로 서비스 장애까지 이어질수 있다고한다. 그렇기때문에 메모리를 관리해주는 가비지 컬렉터. 즉, GC의 개념에 대해서 이해를 하고, 동작원리를 아는것은 중요하다. Java에서 객체가 생성되면 해당 객체는 JVM의 Heap영역의 메모리를 점유하게 되고, 해당 객체는 현재 참조 되지 않더라도 메모리 공간을 점유 한다. 이때, 메모리의 공간은 한정적이기 때문에 사용하지 않는 객체가 차지한 공간을 정리해주지 않으면 메모리 공간은 부족해지고 결국은 에러가 발생 할 수 밖에 없다. Java는 JVM을 통하여 작동이 되는데 Java의 특징중 하..

JAVA 2022.03.24
728x90