garbage collector(GC)
2020. 3. 10. 11:19ㆍ자바 Java/자바 공부 java study
반응형
garbage란 정리되지 않은 메모리, 유효하지 않은 메모리 주소를 말한다.
-프로그래밍 언어로는 "Dangling Object" 이라고 한다.
c/c++언어와 달리 자바는 개발자가 명시적으로 객체를 해제할 필요가 없다.
사용하지 않는 객체는 메모리에서 삭제(해제) 하는 작업을 garbage collector(GC)라 부르며, JVM에서 GC를 수행한다.
기본적으로 JVM의 메모리는 총 5가지 영역(클래스, 스택, 힙, 네이티브 메서드, pc레지스처)으로 나뉘는데 GC는 heap 영역만 다룬다.
garbage collector 가 실행되는 때
: JVM이 프로그램을 실행하다가 메모리가 부족해지면 OS추가로 메모리를 더 요청하게 된다. 바로 이때 실행 된다.
가비지의 대상이 되는 경우
: 프로그램이 실행되면서 코드상에서 참조되지 않는 개체들
- 객체가 null인 경우 (ex: String s=null;)
- 블럭 안에서 생성된 객체는 블럭 실행 종료후 대상이 된다.
- 부모 객체가 null 이 되면, 포함하는 자식 객체들도 자동으로 가비지 대상이 된다.
반응형
'자바 Java > 자바 공부 java study' 카테고리의 다른 글
접근제한자[private,public,protected,default],getter, setter (0) | 2020.03.10 |
---|---|
메소드(method) (0) | 2020.03.10 |
객체(object), 클래스(class), 인스턴스(instance) (0) | 2020.03.10 |
생성자(constructor) (0) | 2020.03.10 |
정적 변수(static variables) (0) | 2020.03.10 |