- 项目中对Class.forName(“classname”)函数的返回值进行了判空处理,印象中forName函数是不会返回null的,查看JDK1.8中,Class.forName函数源码return 语句:
return forName0(className, true, ClassLoader.getClassLoader(caller), caller);
forName0函数:
/** Called after security check for system loader access checks have been made. */
private static native Class<?> forName0(String name, boolean initialize,
ClassLoader loader,
Class<?> caller)
throws ClassNotFoundException;
是个本地方法,果断下载C源码,下载速度有限,还是项目,等源码下载完成以后再来看完得出结论;