• 객체 소멸
    • new에 의해 할당된 객체 메모리를 자바 가상 기계(JVM)의 가용 메모리로 돌려 주는 행위
    • 자바 응용 프로그램은 임의로 객체를 소멸 할 수 없음
      • 객체 소멸은 JVM의 고유한 역할
      • C/C++에서와 다르게 할당받는 객체를 개발자가 직접 되돌려 주지 않아도 됨.
  • 가비지 
    • 가리키는 레퍼런스가 한도 없는 객체
    • 누구도 사용할 수 없게 된 메모리
    • 가비지 컬렉션 : JVM의 가비지 컬렉터가 자동으로 가비지 수집 반환
public class GarbageEx{
	public class void main(String args[]){
    	String a = new String("Good");
        String b = new String("Better");
        String c = new String("Best");
        
        a = null;
        b = c;
    }
}//Good 이 저장된 객체, Better 가 저장된 객체는 가비지가 됨
  • 가비지 컬렉션
    • 자바에서 가비지를 회수하여 자동 회수하는 과정
    • 가비지 컬렉션 스레드의 의해 수행
    • 개발자에 의한 강제 가비지 컬렉션 
      • JVM에 가비지 컬렉션 요청 (JVM이 가비지 컬렉션 시점을 전적으로 판단)
      • System 또는 Runtime 객체의 gc() 메소드 호출
System.gc();
Runtime.gc();

 

'JAVA' 카테고리의 다른 글

[Java.2-5] static 과 final  (0) 2022.04.15
[Java.2-4] 접근 지정자  (0) 2022.04.15
[Java.2-2] 메소드  (0) 2022.04.15
[Java.2-1] 클래스 와 객체  (0) 2022.04.15
[Java.1] 자바 프로그래밍 기본  (0) 2022.04.14

+ Recent posts