最近在看spring源码时,发现了一个方法ClassUtils.getDefaultClassLoader(),先看一下源码
public static ClassLoader getDefaultClassLoader(){
ClassLoader cl = null;
try {
cl = Thread.currentThread().getContextClassLoader();
}catch (Throwable ex){
// Cannot access thread context ClassLoader - falling back...
}
if(cl == null){
// No thread context class loader -> use class loader of this class.
cl = ClassUtils.class.getClassLoader();
if(cl == null){
// getClassLoader() returning null indicates the bootstrap ClassLoader
try {
cl = ClassLoader.getSystemClassLoader();
}catch (Throwable ex){
// Cannot access system ClassLoader - oh well, maybe the caller can live with null...
}
}
}
return cl;
}