SSAFY11th-book-study / book-study

0 stars 0 forks source link

[6.3.2] 다이내믹 프록시 생성 시 클래스 로더 #60

Open gmelon opened 4 months ago

gmelon commented 4 months ago

다이내믹 프록시를 생성할 때 프록시를 생성하는 클래스의 클래스 로더를 newProxyInstance() 에 전달합니다. 책에서는 다이나믹 프록시가 정의되는 클래스 로더를 지정 한다고 표현하고 있습니다.

이때,

  1. 자바에서 클래스 로더가 정확히 어떤 역할을 하는지,
  2. 다이내믹 프록시를 생성할 때 클래스 로더가 어떤 일을 하는지,
  3. 클래스 로더에 계층이 있다고 알고 있는데 이때 사용되는 클래스 로더는 어느 계층에 있는 것인지,
  4. 왜 다이나믹 프록시를 생성하는 클라이언트 클래스의 클래스 로더를 (getClass().getClassLoader() 를 통해) 사용하는지

등등 클래스 로더 관련 의문이 들어 질문 올립니다.

sootudio commented 4 months ago

1. 자바에서 클래스 로더가 정확히 어떤 역할을 하는지 클래스 로더는 컴파일 된 자바의 클래스 파일(*.class)을 동적으로 로드하고, 해당 클래스를 JVM 내부에서 사용할 수 있도록 JVM의 메모리 영역인 Runtime Data Areas에 배치하는 작업을 수행한다고 합니다.

2. 다이내믹 프록시를 생성할 때 클래스 로더가 어떤 일을 하는지, 서럽다 서러워 A형 공부나 해야지

3. 클래스 로더에 계층이 있다고 알고 있는데 이때 사용되는 클래스 로더는 어느 계층에 있는 것인지

4. 왜 다이나믹 프록시를 생성하는 클라이언트 클래스의 클래스 로더를 (getClass().getClassLoader() 를 통해) 사용하는지

hj-k66 commented 4 months ago

image

gmelon commented 4 months ago
image