自定义类加载器加载类

想要在程序中实现一个自定义类加载器是非常简单的,只需要继承抽象类ClassLoader,并重写其findClass()方法即可。在此大家需要注意,尽管Java虚拟机规范将所有派生于抽象类ClassLoader的类加载器都划分为自定义类加载器,但是从严格意义上来说,由Java开发人员编写的自定义类加载其实并不属于Java体系结构的组成部分,实际上它仅仅只是属于Java运行时程序的一部分而已...

阅读全文

双亲委派模型

类加载器是JVM执行类加载机制的前提。简单来说,类加载器的主要任务就是根据一个类的全限定名来读取此类的二进制字节流到JVM内部,然后转换为一个与目标类对应的java.lang.Class对象实例。类加载器最早出现在Java1.0版本中,那个时候只是单纯地为了满足Java Applet应用而被研发出来,但如今类加载器却在OSGi、字节码加解密领域大放异彩。这主要归功于Java虚拟机的设计者们当初在设计类加载器的时候,并没有考虑将它绑定在JVM内部,这样做的好处就是能够更加灵活和动态地执行类加载操作。

阅读全文