类加载机制
发布日期:2021-07-27 05:06:31
浏览次数:6
分类:技术文章
本文共 988 字,大约阅读时间需要 3 分钟。
一、java的类加载机制
1、在java程序中,类是如何被使用的?
程序执行过程中,如果要使用某个类,前提是该类的字节码也就是.class文件的内容必须要加载至内存中,完成加载的任务由jvm来进行。2、类被谁加载?
Java中提供了多种类加载器,不同的类由这些类加载分别进行加载。 类被加载后,无论创建了多少个对象,对象的类的Class对象只有一个。 自定义类的加载器是: AppClassLoader 应用类加载器 扩展类的类加载器: ExtClassLoader 扩展类加载器 引导类加载器: null(BootstrapClassLoader) 引导类加载器,这是jvm中最基础的加载器由c语言写的,所以在java中无法得到它的类型3、各种类加载器的加载对象
应用类加载器负责加载自定义的类; 扩展类加载器负责加载jre 中 ext 目录下的类引导类加载加载器负责加载rt.jar,toos.jar包中的类,这些类是java程序中最基础的类,由jdk提供。
4、以上三种加载器之间的关系
System.out.println("Message类的加载器的父亲是:"+Message.class.getClassLoader().getParent());System.out.println("SunEc类的加载器的父亲是:"+SunEC.class.getClassLoader().getParent());
三种类加载器具有层次关系
5、自定义类加载器
在 java程序中,判断两个对象是否是同一对象的依据,首先要看两个对象是否由同一类加载器加载,如果不是那么两个对象一定不是同一对象。 Java的web应用程序需要应用服务器的支持,tomcat服务器是当前使用最广泛的。有时候需要在同一服务器机器上安装多个web应用程序,在这种环境下,很多javaEE的api以及用户定义的Servlet,jsp等这些如果采用 java的原生加载器加载可能会发生混乱,所以tomcat自身定义了一些自已的加载器来完成对一些特殊类的加载。 6、如何自定义类加载器Class ClassLoaderjava.lang.Object java.lang.ClassLoader
自定义的类加载器需要继承ClassLoader 这个类来产生,必须要重写findClass的方法。
转载地址:https://blog.csdn.net/qq_45442483/article/details/109726710 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年09月19日 18时37分02秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
istio-1.1.6镜像列表
2019-06-06
Unity C#笔记 容器类
2019-06-06
beta阶段第六次scrum meeting
2019-06-06
印度的密教经典--古老的祝福
2019-06-06
学生档案
2019-06-06
/sys/bus/i2c/devices下的内容与i2c_board_info结构体
2019-06-06
Python高级正则
2019-06-06
【转】 linux系统的7种运行级别
2019-06-06
弹幕和回到顶部前端web
2019-06-06
activemq---点对点/发布订阅模式简单代码示例
2019-06-06
Win7 不能双击直接打开.txt .java 文件
2019-06-06
ElasticSearchwindow下搭建
2019-06-06
nginx之正向代理
2019-06-06
kubernetes之coredns玩法
2019-06-06
Shell常用命令
2019-06-06
Express使用html模板
2019-06-06
ie6兼容问题2——3像素间距
2019-06-06
简洁的JS实现Tab切换效果
2019-06-06
C# 使用Emit实现动态AOP框架 (三)
2019-06-06
第五次作业周总结
2019-06-06