Class<?> findClass(String name, boolean checkParent) throws ClassNotFoundException { if (checkParent && parent != null && name.startsWith(JAVA_PACKAGE)) // 1) if startsWith "java." delegate to parent and terminate search // we want to throw ClassNotFoundExceptions if a java.* class cannot be loaded from the parent. return parent.loadClass(name); return findClassInternal(name, checkParent); }
Class<?> findClass(String name, boolean checkParent) throws ClassNotFoundException { if (checkParent && parent != null && name.startsWith(JAVA_PACKAGE)) // 1) if startsWith "java." delegate to parent and terminate search // we want to throw ClassNotFoundExceptions if a java.* class cannot be loaded from the parent. return parent.loadClass(name); return findClassInternal(name, checkParent); }
Class<?> findClass(String name, boolean checkParent) throws ClassNotFoundException { if (checkParent && parent != null && name.startsWith(JAVA_PACKAGE)) // 1) if startsWith "java." delegate to parent and terminate search // we want to throw ClassNotFoundExceptions if a java.* class cannot be loaded from the parent. return parent.loadClass(name); return findClassInternal(name, checkParent); }
Class<?> findClass(String name, boolean checkParent) throws ClassNotFoundException { if (checkParent && parent != null && name.startsWith(JAVA_PACKAGE)) // 1) if startsWith "java." delegate to parent and terminate search // we want to throw ClassNotFoundExceptions if a java.* class cannot be loaded from the parent. return parent.loadClass(name); return findClassInternal(name, checkParent); }
Class<?> findClass(String name, boolean checkParent) throws ClassNotFoundException { if (checkParent && parent != null && name.startsWith(JAVA_PACKAGE)) // 1) if startsWith "java." delegate to parent and terminate search // we want to throw ClassNotFoundExceptions if a java.* class cannot be loaded from the parent. return parent.loadClass(name); return findClassInternal(name, checkParent); }
Class<?> findClass(String name, boolean checkParent) throws ClassNotFoundException { if (checkParent && parent != null && name.startsWith(JAVA_PACKAGE)) // 1) if startsWith "java." delegate to parent and terminate search // we want to throw ClassNotFoundExceptions if a java.* class cannot be loaded from the parent. return parent.loadClass(name); return findClassInternal(name, checkParent); }
Class<?> findClass(String name, boolean checkParent) throws ClassNotFoundException { ClassLoader parentCL = getParentClassLoader(); if (checkParent && parentCL != null && name.startsWith(JAVA_PACKAGE)) // 1) if startsWith "java." delegate to parent and terminate search // we want to throw ClassNotFoundExceptions if a java.* class cannot be loaded from the parent. return parentCL.loadClass(name); return findClassInternal(name, checkParent, parentCL); }
Class<?> findClass(String name, boolean checkParent) throws ClassNotFoundException { ClassLoader parentCL = getParentClassLoader(); if (checkParent && parentCL != null && name.startsWith(JAVA_PACKAGE)) // 1) if startsWith "java." delegate to parent and terminate search // we want to throw ClassNotFoundExceptions if a java.* class cannot be loaded from the parent. return parentCL.loadClass(name); try { if (USE_GLOBAL_DEADLOCK_AVOIDANCE_LOCK) lock(createClassLoader()); return findClassInternal(name, checkParent, parentCL); } finally { if (USE_GLOBAL_DEADLOCK_AVOIDANCE_LOCK) unlock(); } }