Object
, String
, List
등…📁 ex01
☕ NoUse.java
public class NoUse {
// 💡 static 초기화 블록
static {
System.out.println("✅ 초기화 완료 (한 번만 실행됨)");
}
}
☕ Main.java
try {
Thread.sleep(2000);
// ⭐️ 아래의 클래스를 로드 & 초기화하는 시점
NoUse noUse1 = new NoUse();
NoUse noUse2 = new NoUse();
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
java.lang.ClassLoader
클래스📁 ex02
☕ Main.java
// 💡 ClassLoader 인스턴스를 가져오는 방법들
// Class의 메소드로 가져옴
ClassLoader loader1 = Main.class.getClassLoader();
// 실행중인 쓰레드의 메소드로 가져옴
ClassLoader loader2 = Thread.currentThread().getContextClassLoader();
// ClassLoader의 정적 메소드로 가져옴
ClassLoader loader3 = ClassLoader.getSystemClassLoader();
// 💡 모두 동일
boolean areSame1 = loader1 == loader2;
boolean areSame2 = loader2 == loader3;