怎么做网站开发的方案,成都网络营销搜索推广,路由器怎么做网站,扬州哪家公司做网站比较好本文重点
前面的课程中#xff0c;我们已经学习了双亲委派机制#xff0c;如果想要自定义一个类加载器#xff0c;那么我们只需要继承ClassLoader#xff0c;并且定义好自己的findClass就可以了#xff0c;也就是自己的类加载器是如何进行工作的#xff0c;而loadClass就…本文重点
前面的课程中我们已经学习了双亲委派机制如果想要自定义一个类加载器那么我们只需要继承ClassLoader并且定义好自己的findClass就可以了也就是自己的类加载器是如何进行工作的而loadClass就是双亲委派机制我们直接使用ClassLoader的就可以了这样就没有破坏双亲委派机制。
自定义类加载器 Shiy这个类因为没有放在当前目录下所以调用loadClass(packageNamePath)的时候仅仅传递了类的名字App加载器加载不到所以此时就会通过双亲委托机制最后还是落到我们自定义的类加载器手里而我们的自定义类加载器知道绝对路径所以肯定可以找到它并且加载也就是调用findClass方法下面我们看一下它的逻辑
如上所示就是读取class文件并且将其转变为二进制byte数组中然后调用defineClass方法就可以将byte数组转变为class对象了此时加载工作完成。
注意点
需要保证在D盘下有一个Shi.class对象一般我们都是在编译工具中进行编程那么我们只需要找到编译工具中java类对应的class文件那么我们就可以对其进行加载了。代码如下 如上所示我们在idea中编程然后在com.huanfeng.bean中创建了一个Hello类然后idea会自动在C:\Users\feng\IdeaProjects\spring2\target\classes\com\huanfeng\bean路径下产生class那么我们只需要给定这个class路径那么类自动加载器就可以帮助我们完成类的加载工作。