Garbage Collection란??

햐얀하늘·2023년 10월 21일
0

Garbage Collection이란?

  • 개발 시 유효하지 않은 메모리인 가비지가 발생하나 개발자가 메모리를 직접 해제하지 않음 why? -> JVM의 가비지 컬렉터가 불필요한 메모리를 알아서 정리해줌

ex)

Student student = new Student();
student.setName("학생1");
student = null;

// Garbage 생성
student = new Student();
student.setName("새로운 학생");

기존의 학생1로 생성된 student객체는 더 이상 참조하지 않고 사용되지 않아 가비지가 되고 이를 가비지 컬렉터가 청소해줌

가비지 컬렉터를 어떻게 활용해야할까?


1. JVM은 heap 메모리 영역이 존재한다. 각 영역을 살펴보자

  • young : 젊은 reference가 살아있는 곳
    - eden : 막 생성된 객체가 존재
    • survivor : eden에서 생존한 객체가 일정시간 생존
  • old : 특정 횟수 이상 살아남은 reference가 존재
  • permanent: Method Area의 메타정보가 기록
  1. Minor GC / Major GC
profile
나는 커서 개발자가 될거야!

0개의 댓글