ClassLoader的重载仅需要重载findclass(String name)这个函数。
Findclass要完成的功能说明:
Class findClass(String name)
{
/*首先不管用什么方式(如从当前文件系统加载,从网络上load),必须把需要的Class的二进制信息读入到一个缓冲区buffer中来。通常为了日后升级,维护,地耦合的原因新建一个方法byte[] loadclassdata()完成加载类的二进制data的任务。
/*首先不管用什么方式(如从当前文件系统加载,从网络上load),必须把需要的Class的二进制信息读入到一个缓冲区buffer中来。通常为了日后升级,维护,地耦合的原因新建一个方法byte[] loadclassdata()完成加载类的二进制data的任务。
调用final 方法final Class defineClass(string name ,byte[] data, int offset, int lenth);
返回加载的类
*/
}
几点说明:
1.重载好了的ClassLoad调用loadclass()方法的到指定(name)类的Class实例。
2.Final Class Loadclass()方法在执行的时候系统会安排其按照委托模式执行加载类。
3.委托模式保证了java的安全机制