几个jvm运行报错说明:
- 如名字所言,一个exception,一个error, 而error是不建议捕捉的;
- classNotFound主要发生在Class.forName, ClassLoader.loadClass, Classloader.findSystemClass时动态加载类到内存中时,如果没有找到该类就会抛;还有一个原因是该类已经加载到内存中去了,此时另一个类加载器又尝试动态从同一个包中加载这个类;
- noClassDefFoundError主要由jvm抛出,大部分发生在new的时候却没有找到该类的定义。这个类在编译的时候有存在的,运行时却找不到。
- classNotFoundException发生在装入阶段;noClassDefFoundError发在生编译后使用阶段;
加载时从外存储器找不到需要的class就出现ClassNotFoundException(sc.addJar("D:\\<