Characteristic of the Class Library for Embedded Java System

내장형 자바 시스템을 위한 클래스 라이브러리의 특성

  • Published : 2003.08.01

Abstract

Class library is one of the most crucial element of Java runtime environment in addition to Java virtual machine. In particular, embedded Java system depends heavily on the class library due to having a low bandwidth communication link and a small amount of memory which are a common restriction of embedded system. It is therefore quite necessary to find the characteristic of the class library for embedded Java system to build an efficient Java runtime environment. In this paper we have analyzed the characteristic of the class library for embedded system. The analysis includes sorts of classes in the library, typical size of the file which contains the class, and the composition of constant pool which is a major part of the file. We also have found typical number of field and method a class contains, the sizes of stack and local variable array each method requires, and the length of bytecode in the method. The result of this study can be used to estimate the startup time for class loading and the size of memory to create an instance of class which are a mandatory information to design an efficient embedded Java virtual machine.

클래스 라이브러리는 자바가상기계와 더불어 자바실행환경을 이루는 가장 중요한 요소들 중 한가지다. 통신속도나 메모리의 용량 면에서 제한을 받게 되는 내장형 시스템의 특징상 내장형 자바 시스템은 클래스 라이브러리에 대한 의존도가 매우 높다. 따라서 효율적인 내장형 자바 시스템의 구축을 위해서는 클래스 라이브러리에 대한 면밀한 분석이 필수적이다. 본 논문에서는 내장형 자바 시스템을 위한 클래스 라이브러리의 특성에 대해 분석하였다. 즉 라이브러리를 이루는 클래스 구성과, 그 클래스들을 담은 파일의 크기 및 파일 내 주요 요소인 상수풀에 대한 분석을 하였다. 또한 클래스들이 갖고 있는 필드 및 메소드의 개수, 각 메소드들이 필요로 하는 스택과 지역변수배열의 크기, 그리고 각 메소드의 바이트코드 길이 등에 대해 조사하였다. 이 연구의 결과는 내장형 자바 시스템의 클래스 적재에 따른 지연시간 해석, 인스턴스를 만들 때 소요되는 메모리의 크기 예측 등 효율적 내장형 자바가상기계의 설계에 사용될 것이다.

Keywords

References

  1. S. Helal, 'Pervasive Java,' IEEE Pervasive Computing, Jan-Mar 2002, pp.82-85
  2. 양희재, 자바가상기계, 한국학술정보, 2001년 3월, ISBN 89-5520-342-4
  3. Sun Microsystems, Connected, limited Device Configuration Specification, Version 1.0a, May 2000
  4. RTJ Computing, simpleRTJ: A Small Footprint Java VM for Embedded and Consumer Devices, http://www.rtjcom.com
  5. D. Mulchandani, 'Java for Embedded Systems,' IEEE Internet Computing, May-June 1998, pp.30-39
  6. D. Antonioli and M. Pilz, 'Analysis of the Java Class File Format,' Technical Report, Dept of Computer Sci., University of Zurich, April 1998
  7. T. Lindholm and F. Yellin, The Java Virtual Machine Specification, Second Edition, Addison-Wesley, 1999
  8. J. Waldron, C. Daly, D. Gray and J. Horgan, 'Comparison of Factors Influencing Bytecode Usage in the Java Virtual Machine,' Second International Conf. on the Practical Application of Java, Manchester, UK, April 2000
  9. J. Waldron, 'Dynamic Bytecode Usage by Object-oriented Java Programs,' Proc of the Technology of Object-oriented Languages and Systems (TOOLS), France, June 1999
  10. 양희재, 'simpleRTJ 자바가상기계에서 클래스 파일의 메모리 상 배치', 한국정보과학회 제 29회 추계학술대회, 2002. 10
  11. 양희재, 'simpleRTJ 클래스 파일의 형식 분석', 한국해양정보통신학회 2002 추계학술대회, 제6권 2호, 2002. 11. pp.373-377
  12. 양희재, '내장형 자바 시스템을 위한 J2ME/CLDC 클래스 파일의 분석'. 대한전자공학회 컴퓨터/반도체 소사이어티 학술대회, 2002. 11. pp.29-32