목록Language & Framework/JAVA (2)
고딩왕 코범석
Garbage Collection C / C++언어와 달리, 자바는 개발자가 직접 객체를 메모리 공간에서 해제할 일이 없다. 더 이상 참조하지 않는 객체를 자동으로 삭제하는 작업을 Garbage Collection 이라고 부르며, JVM에서 수행한다. 참고로 GC를 해도 더이상 사용 가능한 메모리 영역이 없는데 계속 메모리를 할당하려 하면, OutOfMemoryError가 발생하여 WAS가 다운될 수 있다. JVM의 Runtime Date Area는 Method, Heap, Method Stack, PC Register, Native Method Stack 이렇게 5개의 영역이 존재하지만 GC는 Heap 영역만 다룬다. 일반적으로 메모리 영역에 해제되는 객체는 다음과 같다. 객체가 Null인 경우 블럭 ..
Java Virtual Machine 역할? 자바 애플리케이션을 클래스 로더를 통해 읽어 들여 자바 API와 함께 실행하며, Java와 OS 사이에서 중개자 역할을 담당하여, OS에 구애받지 않고 재사용이 가능하다. 그리고 전반적으로 메모리 관리, Garbage Collection 기능을 수행한다. 실행 과정 프로그램 실행 시, JVM은 OS로 부터 이 프로그램이 필요로 하는 메모리를 할당 받음. 이 때, JVM은 이 메모리를 용도에 따라 여러 영역으로 나눠 관리 자바 컴파일러(javac)가 자바 소스 코드(XXX.java)를 읽어 들여 바이트코드(.class)로 변환 Class Loader를 통해 .class 파일들을 JVM으로 로딩 로딩된 class 파일들은 실행 엔진에 의해 해석 해석된 바이트코드는..