第9章 Java类加载器
在得到了Java程序的字节代码之后,需要通过一种方式把字节代码加载到Java虚拟机中运行。Java选择了一种更加灵活和开放的方式来实现这个加载过程,即类加载器(class loader)。Java是随着互联网的发展而流行起来的编程语言。在Java产生的早期,Applet可以说是Java平台的“杀手级应用”。Applet的特点是将字节代码存放在远程服务器上,浏览器在运行Applet时需要从远程服务器下载字节代码后再运行,因此需要一种新的机制来允许从远程服务器加载字节代码。这种新的机制就是类加载器。类加载器机制是Java平台的一个重要创新,它的出现带来了Java平台的很多新特性。
类加载器最根本的作用只有一个,即从包含字节代码的字节流中定义出虚拟机中的Class类的对象。得到Class类的对象之后,一个Java类就可以在虚拟机中自由使用,包括创建新的对象或调用类中的静态方法。除了定义类这个最根本的功能之外,类加载器的其他功能都是围绕如何找到类的字节代码展开的。类加载器也是Java平台中比较复杂难懂的一部分,尤其被使用在Web容器和OSGi环境中的时候。