Chuck, On 3/19/12 9:53 PM, Caldarale, Charles R wrote: >> From: Christopher Schultz [mailto:ch...@christopherschultz.net] >> Subject: Re: svn commit: r1302649 - >> /tomcat/trunk/java/org/apache/catalina/startup/Catalina.java > >> There seems to be a difference between "system" and "bootstrap" but >> it's not evident merely from reading the javadoc. > > The bootstrap classloader (aka null or primordial classloader) is the > one the JVM uses to load the standard JRE classes - the ones in > rt.jar and a few other places; it cannot be overridden. The system > classloader is the one that handles the classpath setting, and can be > specified by system property if you don't want the default behavior. > The parent of all classloaders is eventually the bootstrap > classloader, simply because that's what you get when the classloader > reference is null. > >> In this case, system ~= bootstrap > > I have no idea what "~=" means, but it is never true that the system > classloader is the same as the bootstrap classloader.
Yeah, I meant that this code uses "null" to mean "parent is the system ClassLoader" while the documentation for ClassLoader says that "null" means "parent is the bootstrap ClassLoader". The behavior established by this commit would be surprising to me given the javadocs. -chris
signature.asc
Description: OpenPGP digital signature