protected Class<?>loadClass(String name,boolean resolve)throws ClassNotFoundException
{synchronized(getClassLoadingLock(name)){// First, check if the class has already been loaded
Class<?> c =findLoadedClass(name);if(c == null){long t0 = System.nanoTime();try{if(parent != null){
c = parent.loadClass(name,false);}else{
c =findBootstrapClassOrNull(name);}}catch(ClassNotFoundException e){// ClassNotFoundException thrown if class not found// from the non-null parent class loader}if(c == null){// If still not found, then invoke findClass in order// to find the class.long t1 = System.nanoTime();
c =findClass(name);// this is the defining class loader; record the stats
sun.misc.PerfCounter.getParentDelegationTime().addTime(t1 - t0);
sun.misc.PerfCounter.getFindClassTime().addElapsedTimeFrom(t1);
sun.misc.PerfCounter.getFindClasses().increment();}}if(resolve){resolveClass(c);}return c;}}