클래스 로더
- 자바의 클래스 로더 시스템에는 로딩, 링크, 초기화가 존재
로딩
- .class 파일을 읽어서 클래스와 관련 된 정보(FQCN, 클래스, 인터페이스, ENUM, 메소드, 변수 ...)들을 JVM Memory 구조 중 메소드 영역에 저장
- FQCN(Full Qualified Class Name) : 해당 클래스가 속해있는 패키지명을 모두 포함 한 정보
링크
- Verify(검증) → Prepare →Resolve
- Prepare 단계에서 클래스에서 필요한 메모리 영역을 준비한다.
초기화
- 이 단계에서 Static Variables 값을 할당
- Runtime이 아닌 해당 단계에서 전역 변수에 값을 할당하기에 전역으로 사용 가능
- 다만, Static Variables 남발하게 된다면 초기화 시 필요한 메모리가 증가하면서 실제 Runtime에 사용 가능한 메모리가 부족해지는 현상이 발생 할 수 있음
'자바 개발자되기' 카테고리의 다른 글
Java Reflection과 DI(Dependency Injection) (0) | 2020.11.07 |
---|---|
추상 클래스와 인터페이스 (0) | 2020.11.04 |
Database CASCADE와 OOP (0) | 2020.11.03 |
DTO vs VO (0) | 2020.11.01 |
Clean Architecture와 Spring MVC - 2. Spring MVC (0) | 2020.11.01 |