java.lang.ClassLoader中几个主要方法?
1.loadClass
加载类的方法
loadClass()方法执行步骤,
①.用findLoadedClass(String)检查是否已经加载过此类,如果已经加载则直接返回
②.看parent classloader是否为空,若不为空,是调用父类的loadClass。否则使用根类加载器来加载。
③.若上面两步出现异常,是调用findClass()。在ClassLoader中,此方法是空实现的。
2.findClass
使用指定的二进制名称查找类。此方法应该被类加载器的实现重写,该实现按照委托模型来加载类。
在通过父类加载器检查所请求的类后,此方法将被 loadClass 方法调用。
3.defineClass
将二进制的字节码转化为Class