이 포스팅은 김종민, ⌜스프링 입문을 위한 자바 객체 지향의 원리와 이해⌟ 을 읽고 정리했습니다.
Write Once Run Anywhere
어떤 플랫폼(하드웨어와 OS의 조합)에서 작성했는지는 상관 없이 어디서든 프로그램 구동이 가능한 자바의 특성을 말한다.
package example01;
public class Mouse {
public String name;
public void sing() {
System.out.println(name + "찍찍!");
}
}
//============================================
package example01;
public class MouseDriver {
public static void main(String[] args) {
Mouse mickey = new Mouse();
mickey.name = "미키";
mickey.sing();
mickey = null;
}
}
MouseDriver.class가 실행되면
new Mouse();
힙 영역에 Mouse객체 배치 & 객체 참조변수 mickey== Mouse 객체에 대한 참조변수mickey = null;
객체참조 스택영역 mickey에 null 을 할당하면서 힙 영역에 존재하는 Mouse를 참조하지 않음 -> 가비지컬렉터(Garbage Collector)가 아무도 참조해주지 않는 Mouse 객체 수거 -> 힙 영역 비워짐