A Study on Class Loading in Java Virtual Machine

자바 가상 머신에서 클래스 로딩에 관한 연구

  • 김기태 (인하대학교 전자계산공학과) ;
  • 이갑래 (김천과학대 컴퓨터 정보계열) ;
  • 유원희 (인하대학교 컴퓨터공학부)
  • Published : 2003.06.01

Abstract

Dynamic dan loading and class linking of Java is a poweful mechanism. Many other system also support some form of dynamic loading and linking, but lazy loading, type-safe linkage, user-definable class loading policy, and multiple namespaces are important features of Java The ue U dan loading is assured of type safety. The security of Java greatly depends on type safety. In JVM, type safety mechanism is very difficult and access of accuracy is not dear, so type safety problems were raised. In paper, n analysis simple Java code and present a diagram graph and an operational semantics for dynamic class loading and type safety.

자바의 동적인 클래스 로딩은 자바 플랫폼에서 실행시간에 소프트웨어 컴포넌트를 동적으로 로딩하기 위한 강력한 메커니즘이다. 다른 시스템에서도 동적 로딩과 링킹을 제공하지만 지연 로딩, 타입안전 링크, 사용자 정의 로딩정책, 다중 이름 공간 등은 자바가 가진 중요한 특징들이다. 클래스 로딩에서 핵심은 타입 안전을 보장하는 것이다. 타입 안전은 자바 보안에서 아주 중요한 부분을 차지한다. 하지만 자바 가상 머신에서 타입 안전에 대한 메커니즘은 매우 복잡하고, 접근이 명확하지 않아서 지금 까지 많은 버그가 발생하여 타입 안전에 문제가 되었다. 본 논문은 자바 가상 머신에서 동적인 클래스 로더의 동작을 분석하고, 연산적 의미론(operational semantics)으로 추상화하고 현재 로드되어진 클래스와 추가된 제한 등을 이용하여 이전에 제시되었던 타입 안전에 대한 문제를 분석한다.

Keywords