> java 소스(xxx.java) -> 바이트 코드 파일(xxx.class) -> 기계어 -> 실행
: 프로그램 실행에 필요한 메모리를 가비지 콜렉터가 자동으로 관리한다.
c계열 프로그램 : 개발자가 직접 메모리를 관리해야 함.
만약 메모리 관리를 잘못할 경우 메모리 누수가 발생하고,
타 프로그램 동작이 멈출 수 있음.
Java 프로그램 : 개발자가 메모리에 접근할 수 없음. 따라서 개발자는 메모리 관리를 할 수 없고, 가비지 콜렉터가 불필요한 메모리를 회수해서 메모리를 최적화 해야함.