IT 기술/Developer article

[소개] IBM DeveloperWorks : 클래스 로딩 문제 분석하기, Part 1: 클래스 로딩과 디버깅 툴 소개 (한글)

ㅇㅔ ㄷㅡ 2007. 12. 26. 14:48
 흠... 크리스마스가 평온하게... 너무 평온하게 지나가서요... 크리스마스때 읽으려고 출력했던 문서를 소개하려고 합니다.
 제목에도 나와있듯이 자바의 클래스 로딩 문제 분석에 관련된 문서입니다.
[클래스 로딩의 작동 방법과 JVM에서 클래스 로딩 문제를 해결하는 방법]이라는 부제가 달린 문서입니다. Part 1에서는 클래스 로딩의 기초와 디버깅 툴을 소개하고 있습니다.

원문 : 클래스 로딩 문제 분석하기, Part 1: 클래스 로딩과 디버깅 툴 소개 (한글) (부제 : 클래스 로딩의 작동 방법과 JVM에서 클래스 로딩 문제를 해결하는 방법)


 아래는 원문의 서두부분입니다.
클래스 로딩 컴포넌트는 자바™ 가상 머신에 있어서 기본적인 것입니다. 개발자들이 클래스 로딩의 기초에 대해서 잘 이해하고 있더라도 문제가 생기면 이것을 진단하고 솔루션을 만드는데 어려움을 겪습니다. 네 편의 기술자료 시리즈에서 Lakshmi Shankar와 Simon Burns는 자바 개발 중에 발생할 수 있는 다양한 클래스 로딩 문제들을 설명하고 그 원인과 해결 방법을 설명합니다. NoClassDefFoundErrorClassNotFoundException 같은 일반적인 자바 예외와, 클래스 로더의 제약조건 위반 교착 상태 같은 보다 어려운 문제들 이해하고 해결하는데 도움이 될 것입니다. 이 첫 번째 글에서 자바 클래스 로딩의 작동 방법과 JVM에서 사용할 수 있는 툴을 사용하여 클래스 로딩 문제를 진단하는 방법을 설명합니다.

클래스 로더는 클래스들을 Java Virtual Machine (JVM)에 로딩하는 일을 담당한다. 단순한 애플리케이션들은 자바 플랫폼에 내장되어 있는 클래스 로딩 장치를 사용하여 클래스들을 로딩한다. 보다 복잡한 애플리케이션들은 고유의 클래스 로더를 정의하기도 한다. 어떤 종류의 클래스 로더를 사용하든지 간에, 클래스 로딩 과정 동안 문제가 생길 수 있다. 이 같은 문제를 피하려면, 클래스 로딩의 구조를 이해해야 하여야 하며, 이를 통해, 문제가 발생하면 진단 기능과 디버깅 기술이 문제 해결에 도움이 될 것이다.

본 기술자료 시리즈에서는 클래스 로딩 문제들을 설명한다. 첫 번째 기술자료에서는 클래스의 로딩의 기초를 설명하고, 두 번째 기술자료에서는 JVM 디버깅 기능들을 다룰 예정이다. 나머지 세 개의 기술자료에서는 클래스 로딩 예외를 해결하는 방법과, 보다 민감한 클래스 로딩 문제들을 설명할 것이다.