1. 가비지 컬렉션이란?
* 자바에서 메모리 관리를 자동으로 처리하는 기능. (heap 메모리를 JVM이 자동으로 관리해준다.) * 자바가 한가할 때 가비지 컬렉션이 실행된다. = 가비지 컬렉터가 수행되면, 가비지 컬렉터를 제외한 나머지 자바 어플리케이션은 모든 동작을 멈춘다. = 느림
자바, C# - 매니지드 언어(Managed Language)
: 가비지 컬렉션(Garbage Collection)과 같은 자동 메모리 관리 기능을 제공하는 언어
사용하지 않는 객체(인스턴스)를 자동으로 감지하고, 해당 객체가 차지하고 있는 메모리를
자동으로 해제한다. 이를 통해 개발자는 직접 메모리 관리에 신경을 쓰지 않아도 되므로,
프로그래밍의 편의성과 안정성을 높일 수 있다.
C, C++ - 언매니지드 언어(Unmanaged Language)
: 개발자가 직접 가비지 컬렉션을 관리해야 한다. 더 세밀한 조정(내가 원할 때 삭제 가능)이
가능하다는 장점이 있지만, 메모리 관리에 대한 책임이 개발자에게 있으므로 실수에 따른
오류가 발생. (삭제하는 코드를 사용)
매니지드 언어 하나랑 언매니지드 언어 하나씩 할 수 있어야 한다.
2. 가비지 컬렉션 설명
*64-1 주소값의 장소 자체는 남아있다. 다만, a가 더이상 64-1번 주소를 가리키지 않으니, new String(”Hello”);가 가비지 컬렉션 대상임
사용하지 않는 객체를 자동으로 감지하고, 메모리를 위해서 지우는 것
Share article