Applet Class Loader
This second part of Java security implements a policy as to which classes can access which others!
Java classes are divided into groups which have strict access control. There are different (class) name spaces defined by different Class Loader instances and in particular different run in different name spaces and can NOT interfere with each other.
Classes from same source (defined by directory and host machine) are stored in same name space. An Applet can access those classes in its name space as well the built in local classes. It can access classes from other sites if it explicitly specifies a URL and the methods are public.
Note one searches the local classes first or else one could override the built-in classes and so do things like file I/O.