For example in Java it is like "Bootstrap Class Loader <-- Extension
Class Loader <-- System Class Loader".
For Java EE it is hierarchical but with support for isolation across
multiple applications in the same container.
For OSGi it is Class Loader per each bundle.
Same way what about impala?
The main form of class loader supported is the "graph" class loader,
which is a bit like the OSGi class loader, but sits at the bottom of the
class loader hierarchy of the containing environment (e.g., for Java EE,
it will sit below the web app class loader).
There's quite a detailed description here:
http://code.google.com/p/impala/wiki/ModuleClassLoader
Cheers,
Phil