没有合适的资源?快使用搜索试试~ 我知道了~
Java基础加强之类加载器
0 下载量 138 浏览量
2020-12-22
17:58:16
上传
评论
收藏 93KB PDF 举报
温馨提示
试读
4页
学习概述:本模块深入讲解了Java类加载方面的知识,Java类加载器和类加载机制以及类加载原理 学习目标:掌握类加载机制和原理,能够独立开发自己的类加载器。 1.类的加载 什么是类加载? 类加载是指将类的class文件读入内存,并为之创建一个Java.lang.Class对象,也是说当程序中使用任何类时,系统都会为之建立一个java.lang.Class对象。 类加载器负责加载所有类,系统为所有被载入内存中的类生成一个java.lang.Class实例。一旦一个类被载入JVM中,同一个类不会再被再次载入。 思考问题:怎么样才算同一个类? 当JVM启动时,会形
资源推荐
资源详情
资源评论
Java基础加强之类加载器基础加强之类加载器
学习概述:本模块深入讲解了Java类加载方面的知识,Java类加载器和类加载机制以及类加载原理
学习目标:掌握类加载机制和原理,能够独立开发自己的类加载器。
1.类的加载
什么是类加载? 类加载是指将类的class文件读入内存,并为之创建一个Java.lang.Class对象,也是说当程序中使用任何
类时,系统都会为之建立一个java.lang.Class对象。
类加载器负责加载所有类,系统为所有被载入内存中的类生成一个java.lang.Class实例。一旦一个类被载入JVM中,同一
个类不会再被再次载入。
思考问题:怎么样才算同一个类?
当JVM启动时,会形成三个类加载器组成的原始类加载器层次结构:
【BootStrap ClassLoader】根类加载器 这是一个特殊的加载器,他并不是有Java编写,而是JVM自身实现的
【Extension Classloader】扩展类加载器
【System Classloader】系统类加载器
类加载器的父子关系:
实验获得类加载器以及了解类加载器的层次结构:
public class ClassloaderDemo{
public static void main(String[] args){
System.out.printlb(ClassLoaderDemo.class.getClassLoader().getName());
System.out.println(System.class.getClassloader());
ClassLoader classloader = ClassLoaderDemo.class.getClassLoader());
while(loader!=null){
System.out.println(loader.getClass().getName());
loader=loader.getParent();
}
}
注意:程序会抛出异常,因为JVM根类加载器不是Java类。
2.类的加载机制,如图所示:
<1>全盘负责:所谓全盘负责,是说当一个类加载器负责加载某个Class的时候,该Class所依赖的和引用的其他Class也
将由该类加载器负责载入,除非显式使用另外一个 类加载器来实现载入。
<2>父类委托:意思是先让父类加载器试图加载该Class,只有父类加载器无法加载该类是才尝试从自己的路径中加载该
资源评论
weixin_38617602
- 粉丝: 7
- 资源: 928
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 南京邮电大学数学实验:熟练掌握 Matlab 软件的基本命令和操作
- 2017校招真题校园招聘真题算法题(37道)Python源码.zip
- 基于单片机protues仿真的多功能自动饮水机系统设计(仿真图、源代码、演示视频)
- 二叉树7-1-1.cpp
- android 9.0 原生模拟器 签名文件
- 技术面试最后反问面试官的话 校招面试非技术问题有哪些 非技术问题如何回答.png
- NB-IOT-BC26全网通模块Altium+ CADENCE +PADS三种格式(原理图SCH+PCB封装库)文件.zip
- 基于微信小程序开发的校园失物招领系统源码毕业设计(优质项目源码).zip
- 词向量是一种将自然语言中的单词转换为数值向量的技术,它能够捕捉词义和上下文信息
- nmap与masscan的简单使用
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功