Understanding Class.forName() - Java
Dynamic loading of Java classes at runtime provides tremendous flexibility in the development of enterprise systems. It provides for the basis of "application servers", and allows even simpler, lighter-weight systems to accomplish some of the same ends. Within Java, dynamic-loading is typically achieved by calling the forName method on the class java.lang.Class; however, when Class.forName is called from within an Extension, strange errors can occur. This paper describes why those errors occur, and how Java2 provides a facility, called the "Thread context ClassLoader", to avoid them.
Discussion
![](https://cdn.ttgtmedia.com/tss/static/images/dm.gif)
Dynamic loading of Java classes at runtime provides tremendous flexibility in the development of enterprise systems. It provides for the basis of "application servers", and allows even simpler, lighter-weight systems to accomplish some of the same ends. Within Java, dynamic-loading is typically achieved by calling the forName method on the class java.lang.Class; however, when Class.forName is called from within an Extension, strange errors can occur. This paper describes why those errors occur, and how Java2 provides a facility, called the "Thread context ClassLoader", to avoid them.