Running the bytecode, the interpreter will come across the
invokestatic, which has a symbolic reference to 'java.lang.System'.  When
it asks the classloader for 'java.lang.System', what comes back?  The key
is this: whatever we want to come back.  The java.lang.System static
class, in this case, /as modified by the calling process/ -- that is, as
the calling process has set /the child's copy/ of java.lang.System.
Information included in setting up the child's process would be the
console/stream that java.lang.System.* should point at.

        Basically, support for disjoint (sets with nothing in common)
classloaders allows us to have any number of copies of java.lang.System
around, one for each console/stream, as necessary.

-_Quinn


_______________________________________________
Kernel maillist  -  [EMAIL PROTECTED]
http://jos.org/mailman/listinfo/kernel

Reply via email to