Abstract
Class loaders are a powerful mechanism for dynamically loading software components on the Java platform. They are unusual in supporting all of the following features: laziness, type-safe linkage, user-defined extensibility, and multiple communicating namespaces.We present the notion of class loaders and demonstrate some of their interesting uses. In addition, we discuss how to maintain type safety in the presence of user-defined dynamic class loading.
- 1 Ole Agesen, Stephen N. Freund, and John C. Mitchell. Adding type parameterizafion to the Java language. In Proc. of the ACM Conf. on Object-Oriented Programming, Systems, Languages and Applications, pages 49-65, October 1997. Google ScholarDigital Library
- 2 Andrew W. Appel and David B. MacQueen. Standard ML of New Jersey. In J. Maluszy~ski and M. Wirsing, editors, Programming Language Implementation and Logic Programming, pages 1-13. Springer-Verlag, August 1991. Lecture Notes in Computer Science 528.Google Scholar
- 3 Gilles Barbedette. Schema modifications in the LISP 02 persistent object-oriented language. In European Conference on Object-Oriented Programming, pages 77-96, July 1991. Google ScholarDigital Library
- 4 Drew Dean, 1997. Private communication.Google Scholar
- 5 Drew Dean. The security of static typing with dynamic linking. In Fourth ACM Cor~rence on Computer and Communications Security, pages 18-27, April 1997. Google ScholarDigital Library
- 6 A. Goldberg and D. Robson. Smalltalk-80: the Language and Its Implementation. Addison-Wesley, 1983. Google ScholarDigital Library
- 7 James Gosling, Bill Joy, and Guy Steele. The Java Language Specification. Addison-Wesley, Reading, Massachusetts, 1996. Google ScholarDigital Library
- 8 JavaSoft, Sun Microsystems, Inc. JavaBeans Components APIfor Java, 1997. JDK 1.1 documentation, available at h t t p://java .s u n. com / prod u cts/jd k / 1.1/does / gu i de /beans.Google Scholar
- 9 javaSoft, Sun Microsystems, Inc.Reflection, 1997. JDK 1.1 documentation, available at h tt p://java, su n. co m / prod ucts/jd k / 1.1/docs / gu ide / reflection.Google Scholar
- 10 JavaSoft, Sun Microsystems, Inc. The java Extensions Framework, 1998. JDK 1.2 documentation, available at htip: I/java .sun. corn I prod u cts lid k / I. :2 /docs I guide I exte ns ions.Google Scholar
- 11 javaSoft, Sun Microsystems, Inc. Servlet, 1998. JDK 1.2 documentation, available at http://java.sun.com/products/jdk/1.2/docs/ext/servlet.Google Scholar
- 12 Thomas Jensen, Daniel Le Metayer, and Tommy Thorn. Security and dynamic class loading in Java: A formalisation. In Proceedings of IEEE international Con~rence on Computer Languages, Chicago, illinois, pages 4-15, May 1998. Google ScholarDigital Library
- 13 Sonya E. Keene. Object-Oriented Programming in Common Lisp. Addison-Wesley, 1989. Google ScholarDigital Library
- 14 Gregor Kiczales, Jim des Rivieres, and Daniel G. Bobrow. The Art of the Metaobject Protocol. MIT Press, Cambridge, Massachusetts, 1991. Google ScholarDigital Library
- 15 Tim Lindholm and Frank Yellin. The Java Virtual Machine Spec~qcation. Addison-Wesley, Reading, Massachusetts, 1996. Google ScholarDigital Library
- 16 Oberon Microsystems, Inc. Component Pascal Language Report, 1997.Available at http:/www, oberon .ch/docu / I a n guage_report, h t m I.Google Scholar
- 17 jonathan A. Rees, Norman I. Adams, and James R. Meehan. The T Manual, Fourth Edition. Department of Computer Science, Yale University, January 1984.Google Scholar
- 18 Jim Roskind, 1997. Private communication.Google Scholar
- 19 Vijay Saraswat. Matrix design notes. htt p://www, research .art corn / ~ vj/matrix, h tm I.Google Scholar
- 20 Vijay Saraswat. Java is not type-safe, available at http://www.research.att.com/~vj/bug.html, 1997.Google Scholar
- 21 David Ungar and Randall Smith. SELF: The power of simplicity. In Proc. of the ACM Cor~. on Object-Oriented Programming, Systems, Languages and Applications, October 1987. Google ScholarDigital Library
Index Terms
- Dynamic class loading in the Java virtual machine
Recommendations
Dynamic class loading in the Java virtual machine
OOPSLA '98: Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applicationsClass loaders are a powerful mechanism for dynamically loading software components on the Java platform. They are unusual in supporting all of the following features: laziness, type-safe linkage, user-defined extensibility, and multiple communicating ...
Platform independent dynamic Java virtual machine analysis: the Java Grande Forum Benchmark suite
JGI '01: Proceedings of the 2001 joint ACM-ISCOPE conference on Java GrandeIn this paper we present a platform independent analysis of the dynamic profiles of Java programs when executing on the Java Virtual Machine. The Java programs selected are taken from the Java Grande Forum benchmark suite, and five different Java-to-...
Class Loader Firmware on Java SoC
ISCSCT '08: Proceedings of the 2008 International Symposium on Computer Science and Computational Technology - Volume 01Java is one of the most popular programming architectures because of its platform-independence. A Java processor called “JOP” accelerates the speed of Java applications by executing Java bytecode instructions directly instead of by software emulation. ...
Comments