方法resolveClass
正如上面说的,类记载可以分为部分加载(不解析)和完全加载(包括解析)。我们创建自定义类加载器的时候,可能要调用resolveClass。
方法 findLoadedClass
findLoadedClass实现一个缓存:当要求loadClass来加载一个类的时候,可以先调用这个方法看看这个类是否已经被加载,防止重新加载一个已经被加载的类。这个方法必须先被调用,我们看一下这些方法是如何组织在一起的。
* 调用findLoadedClass检查这个类是否已经加载。
* 如果没有加载,我们通过某种方式获得原始字节数组。
* 假如已经获得该数组,调用defineClass把它转化成类对象。
* 如果无法获得该原始字节数组,调用findSystemClass 检查是否可以从本地文件系统