类装载器的体系结构是Java虚拟机在安全性和网络移动性上发挥重要作用的一个方面。一个Java应用程序可以使用两种类装载器:“启动”(bootstrap)类装载器和用户定义的类装载器。启动类装载器(这是系统中唯一的)是JVM实现的一部分。例如,如果JVM在已有的操作系统上实现为C程序,那么启动类装载器就会是此C程序的一部分。启动类装载器通常使用某种默认方式从本地磁盘中装载类,包括Java API的类(启动类装载器也被称为原始类装载器、系统类装载器或者默认类装载器)。
Java应用程序能够在运行时安装用户定义的类装载器,这种类装载器能够使用自定义的方式来装载类。如从网上下载Class文件。尽管启动类装载器是JVM实现的本质部分,而用户定义的类装载器不是;但用户定义的类装载器能够用Java编写,能够被编译为class文件,能够被JVM装载,还能够像其他对象一样实例化。