JVM 은 크게 클래스로더 시스템, 메모리, 실행 엔진, JNI와Native Method Library로 이루어져 있다.
자바 바이트 코드를 읽어들여 메모리에 배치하는 역할을 한다. 클래스로더는 3가지 일을 한다.
중첩 클래스(nested class)란 다른 클래스 안에 정의된 클래스를 말한다.
중첩 클래스의 종류
클래스와 인스턴스 선언에 타입 매개변수(type parameter)가 쓰이면, 이를 제네릭 클래스(generic class) 혹은 제네릭 인터페이스(generic interface)라 한다. 제네릭 클래스와 제네릭 인터페이스를 통틀어 제네릭 타입(generic type)라고 한다.