java -- jvm载入器

来源:互联网 发布:女生用电动牙刷知乎 编辑:程序博客网 时间:2024/06/05 14:39

从 j2se 1.2 开始, jvm 使用三种 loader :引导类载入器( bootstrap class loader),扩展类载入器(extension class loader)和系统类载入器(system class loader)。这三种有着父子继承关系(引导类载入位于最高层)。

  • 引导类载入器

(bootstrap class loader)用于引导 jvm。当使用 java 命令时,引导类载入器开始工作。引导类载入是使用本地方法实现的,因为它要负责载入启动 jvm 的类。此外,它还要负责载入 java 核心类,
例如 java.io 和 java.lang 包下的类,它的搜索路径包括 rt.jar 和 i18n.jar 等包,具体查找哪些包依赖于 jvm 和操作系统的版本。

  • 扩展类载入器

(extension class loader)负责载入标准扩展目录下的类。这有利与程序开发,因为程序员只需要将 jar 包拷贝到扩展目录中,扩展类载入器会从这些 jar 包中查找需要的类。 扩展目录依赖于 jvm 的
具体实现。sun 的 jvm 实现中标准扩展目录是“/jdk/jre/lib/ext”。

  • 系统类载入器

(system class loader)是默认的类载入器,从 CLASSPATH 中搜索需要的类。

1 0
原创粉丝点击