【面试题精讲】JVM-类加载器-启动类加载器

2023-10-26 15:42:46 浏览数 (1)

!! 有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top

启动类加载器(Bootstrap ClassLoader)是 Java 虚拟机的一部分,它是用 C 编写的 ³。它并不是 Java 类,而其他的类加载器都是 Java 类 ³。启动类加载器负责将 <JAVA_HOME>/lib 路径下的核心类库或 -Xbootclasspath 参数指定的路径下的 jar 包加载到内存中 ⁴。这些核心类库包括 rt.jar(runtime)、i18n.jar 等,这些是 Java 的核心类 ⁴。

启动类加载器主要加载的是 JVM 自身需要的类 ³。由于虚拟机是按照文件名识别加载 jar 包的,如 rt.jar,如果文件名不被虚拟机识别,即使把 jar 包丢到 lib 目录下也是没有作用的 ⁴。出于安全考虑,Bootstrap 启动类加载器只加载包名为 java、javax、sun 等开头的类 ⁴。

当 JVM 启动时,一块特殊的机器码会运行,它会加载扩展类加载器与系统类加载器,这块特殊的机器码就叫做启动类加载器(Bootstrap)³。

总的来说,启动类加载器是 JVM 中非常重要的一部分,它负责加载 Java 核心库和其他必要的资源到 JVM 中。³⁴

(1) 12、启动类加载器 - java 小天地 - 博客园. https://www.cnblogs.com/sunhao1234/p/12354832.html. (2) 深入理解 Java 类加载器(ClassLoader)_java classloader-CSDN 博客. https://blog.csdn.net/javazejian/article/details/73413292. (3) 通俗易懂 启动类加载器、扩展类加载器、应用类加载 .... https://zhuanlan.zhihu.com/p/73359363. (4) java ClassLoader(类加载器) - 知乎. https://zhuanlan.zhihu.com/p/375932112.

本文由 mdnice 多平台发布

0 人点赞