2.2. Goals of the Class Loader Architecture

“Design before you code” is a good rule, even when you are merely studying a system already in place. So, before you learn how class loaders work, you need to understand the goals of the architecture. This section serves to justify, in advance, some of the complexity you will see in the class loader code.

The class loader architecture aims to be transparent, extensible, capable, and configurable. Also, it needs to deal sensibly with name conflicts and version incompatibilities without compromising the ability to share resources loaded from different places or in different ways. Finally, it has to define and enforce some notion of security so that there are specific control mechanisms for what dynamically ...

Get Component Development for the Java™ Platform now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.