文档章节

博为峰Java技术题 ——JavaSE 类加载器Ⅰ

博为峰教研组
 博为峰教研组
发布于 2016/11/08 13:44
字数 315
阅读 22
收藏 1

[类加载器简介]

博为峰小博老师:

类加载器负责将.class文件加载到内存中,并为之生成相应的java.lang.Class对象。

当JVM启动时,会形成由三个类加载器(BootStrap、ExtClassLoader、AppClassLoader)组成的初始类加载器层次结构,如下图:

其中,BootStrap由JVM加载,ExtClassLoader和AppClassLoader由BootStrap加载。

例子:用程序去证明上图中对应的类加载器的父子关系(非继承中的父子关系)

问题:当程序中用到一个类时,使用哪个类加载器加载该类?

当前线程的类加载器( Thread.getContextClassLoader() )去加载线程中的第一个类。

如果类A中引用了类B,Java虚拟机将使用加载类A的类加载器来加载类B(全盘负责)。

还可以直接调用ClassLoader.loadClass()方法来指定某个类加载器去加载某个类。

注意:每个类加载器加载类时,先委托给其上级类加载器(父类委托)。

当所有祖宗类加载器没有加载到类,回到发起者类加载器,还加载不了,则抛ClassNotFoundException。(不去找发起者的子加载器,因为ClassLoader没有getChild方法)

 

© 著作权归作者所有

共有 人打赏支持
博为峰教研组
粉丝 50
博文 1224
码字总数 479077
作品 0
黄浦
程序员
私信 提问
JAVA基础再回首(三十)——JAVA基础再回首完美结束,感概万千!

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m366917/article/details/52724939 JAVA基础再回首(三十)——JAVA基础再回首完美结束,感概万千! 经过了几...

Aduroidpc
2016/10/02
0
0
Java程序员从笨鸟到菜鸟之(九十九)深入java虚拟机(八)开发自己的类加载器

欢迎阅读本专题的其他博客: 深入java虚拟机(一)——java虚拟机底层结构详解 深入java虚拟机(二)——类的生命周期(上)类的加载和连接 深入java虚拟机(三)——类的生命周期(下)类的初...

长平狐
2012/11/12
101
0
Java SE 8u20/7u67 发布

Java SE 8u20 发布了,此版本包括 JDK 8 的新特性改进,安全更新和性能提升。同时还包括新的 MSI 企业 JRE 安装器,新 高级管理工作台和 JMC 5.4。 下载地址: http://www.oracle.com/techne...

oschina
2014/09/28
2.1K
3
Tomcat7.0源码分析——类加载体系

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/beliefer/article/details/50995516 前言Tomcat遵循J2EE规范,实现了Web容器。很多有关web的书籍和文章都离不...

泰山不老生
2016/03/28
0
0
JAVA20个面试题

20道常见初级Java面试题,入职者必备! 广州华信智原2016-08-31 09:30:37阅读(1703) 评论(1) 声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立...

北极之北
2016/09/29
612
7

没有更多内容

加载失败,请刷新页面

加载更多

CockroachDB

百度云上的CockroachDB 云数据库 帮助文档 > 产品文档 > CockroachDB 云数据库 > 产品描述 开源NewSQL – CockroachDB在百度内部的应用与实践 嘉宾演讲视频及PPT回顾:http://suo.im/5bnORh ...

miaojiangmin
20分钟前
0
0
I2C EEPROM驱动实例分析

上篇分析了Linux Kernel中的I2C驱动框架,本篇举一个具体的I2C设备驱动(eeprom)来对I2C设备驱动有个实际的认识。 s3c24xx系列集成了一个基于I2C的eeprom设备at24cxx系列。at24cxx系列芯片包...

yepanl
21分钟前
1
0
spring mvc拦截器,实现统计http请求的后台运行时间

使用两种方式,实现拦截http请求的后台运行时间。 废话不多说直接上代码 /** * Http请求时间统计 * 拦截所有请求 */public class HttpRquestTimeInterceptor extends HandlerIntercepto...

兜兜毛毛
39分钟前
2
0
设计模式之工厂模式

本篇博文主要翻译这篇文章: https://www.journaldev.com/1392/factory-design-pattern-in-java 由于翻译水平有限,自认为许多地方翻译不恰当,欢迎各位给出宝贵的建议,建议大家去阅读原文。...

firepation
54分钟前
4
0

中国龙-扬科
57分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部