Java类加载器的工作原理和源码解析是怎样的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2809个文字,预计阅读时间需要12分钟。
参考内容:深入理解Java虚拟机(JVM)高级特性与最佳实践——周志明老师;尚硅谷深入理解JVM教学视频——宋红康老师;我们都知道Java的类加载器结构如下所示(JDK8及以前,JDK9进行了模块化改造)。
参考内容:
- 深入理解Java虚拟机(JVM高级特性与最佳实践) ——周志明老师
- 尚硅谷深入理解JVM教学视频——宋红康老师
我们都知道Java的类加载器结构为下图所示(JDK8及之前,JDK9进行了模块化):
关于三层类加载器、双亲委派机制,本文不再板书,读者可自行百度。
那么在JDK的源码中,三层结构的具体实现是怎么样的呢?
Bootstrap ClassLoader(引导类加载器)
引导类加载器是由C++实现的,并非Java代码实现,所以在Java代码中是无法获取到该类加载器的。
一般大家都称类加载器分为四种(引导类、扩展类、系统类以及用户自定义的类加载器),但其实在JVM虚拟机规范中的支持两种类型的类加载器,分别为引导类加载器(Bootstrap ClassLoader)和自定义类加载器(User-Defined ClassLoader),所以扩展类和系统类也可以统称为自定义类加载器。
本文共计2809个文字,预计阅读时间需要12分钟。
参考内容:深入理解Java虚拟机(JVM)高级特性与最佳实践——周志明老师;尚硅谷深入理解JVM教学视频——宋红康老师;我们都知道Java的类加载器结构如下所示(JDK8及以前,JDK9进行了模块化改造)。
参考内容:
- 深入理解Java虚拟机(JVM高级特性与最佳实践) ——周志明老师
- 尚硅谷深入理解JVM教学视频——宋红康老师
我们都知道Java的类加载器结构为下图所示(JDK8及之前,JDK9进行了模块化):
关于三层类加载器、双亲委派机制,本文不再板书,读者可自行百度。
那么在JDK的源码中,三层结构的具体实现是怎么样的呢?
Bootstrap ClassLoader(引导类加载器)
引导类加载器是由C++实现的,并非Java代码实现,所以在Java代码中是无法获取到该类加载器的。
一般大家都称类加载器分为四种(引导类、扩展类、系统类以及用户自定义的类加载器),但其实在JVM虚拟机规范中的支持两种类型的类加载器,分别为引导类加载器(Bootstrap ClassLoader)和自定义类加载器(User-Defined ClassLoader),所以扩展类和系统类也可以统称为自定义类加载器。

