메소드 영역에는 클래스 수준의 정보를 저장 (클래스 이름, 부모 클래스 이름)
MyApp.class.getSuperClass() => 부모 클래스를 가져오기
메소드 영역의 자원은 공유하는 자원이다
힙 영역에는 객체를 저장 한다
힙 영역의 자원은 공유하는 자원이다
클래스를 로딩만해도 App.class 객체가 만들어진다
클래스의 인스턴스들이 모두 저장된다
스택, PC, 네이티브 메소드 스택 => 스레드마다 생긴다
스택 => 메소드 콜 스택
PC => 어느 메소드를 가르키는지 포인터 역할
네이티브 메소드 스택 => 네이티브 메소드를 사용할 때 별도로 사용하는 스택 => JNI
Thread.currentThread() 자바로 구현된 메소드가 아님 C, C++로 구현된 native 메소드
네이티브 메소드 라이브러리 => 네이티브 메소드 인터페이스 => 네이티브 메소드 스택
인터프리터 : 바이트 코드를 한줄 씩 실행
한 줄마다 바이트 언어를 네이티브 코드로 해석하여 실행
JIT 컴파일러 : Just In Time 반복된 코드를 찾아서 모두 네이티브 코드로 바꿔둔다
프로그램 속도 향상
Garbage Collector : 더 이상 참조되지 않는 객체를 제거