클래스는 언제 JVM에로드됩니까? 서버 시작시 또는 클래스에 대한 참조가있을 때로드됩니까? 내 가정은 jboss와 같은 서버가 시작될 때 모든 클래스가로드되지만 lazyloading이라는 것이 있다는 것입니다.클래스로드 중 JVM
로드하는 것이 실제로 의미하는 것은 무엇입니까? 모든 메소드, 인스턴스 변수, 정적 변수 메소드를 비롯한 변수와 함께 JVM 메모리에 .class가 있다는 것을 의미합니까? 실행이 가능합니다. 나는 ClassLoader가로드 될 필요가있는 Java 클래스의 바이트 코드를 찾고, 바이트 코드를 읽고, particualr 클래스에 사용 된 다른 클래스의 refrencces를 검사하고, java.lang.Class 클래스의 인스턴스를 생성하여이를로드한다. 이것은 클래스를 실행을 위해 JVM에서 사용할 수있게합니다.
메소드도 클래스와 함께 JVM에로드됩니까? 내 가정은 메서드가 스레드의 스택 메모리에만 있다는 것입니다. 그러면 메쏘드 기억이란 무엇입니까? 그것은 힙 또는 스택의 일부입니까?
정적 메서드 만 인스턴스 메서드가 아닌 클래스 로딩과 함께로드됩니까? static boock 클래스가 실행될 때 실행되고 모든 정적 변수가 초기화된다는 것을 알았습니다.
이러한 의심이 사라지면 미리 감사드립니다.