《深入理解Java虚拟机》 类 & 加载
类加载,即把描述类的字节数据(class文件)加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。与那些编译时需要链接的语言不同,java中类型的加载、链接和初始化都在运行期间完成,这种策略虽然在类加载时增加了一些性能开销,但是为java应用程序提供了高度的灵活性,Java能够动态扩展的语言特性就是依赖运行期动态加载和动态连接这些特点来实现的。
比如,编写一个面向接口的应用程序,可以等到运行时再指定其实现类。用户可以通过Java预定义或自定义的加载器,让一个本地应用程序在运行时从网络或其它地方加载一个二进制流作为程序代码的一部分。这种组装应用程序的方式已广泛应用于Java程序之中,从最基础的Applet、JSP到相对复杂的OSGI。