The Classloader System
Responsible for finding, checking, loading and linking a class at runtime.
Crucial for Security and Networking.
Applications can introduce their own ClassLoader object.
A ClassLoader object defines a Namespace.
Classes loaded with different classloaders (in different namespaces) can’t communicate unless they have been explicitly designed to do so.