当前位置:网站首页>关于双亲委派机制和类加载的过程
关于双亲委派机制和类加载的过程
2022-07-06 09:20:00 【快醒醒鸭今天你编程了吗?】
我们写的java文件到最终运行,他必须经过编译和类加载两个阶段,而编译阶段的过程就是把
.java文件编译成.class文件,而类加载的阶段就是把.class文件加载到JVM内存里面,加载完毕
会得到一个Class对象,我们可以使用new关键字来实例化这个对象,如下图:
而类的加载过程需要涉及
到类加载器,JVM在运行的时候会产生三个类加载器,这三个类加载器组成了一个层级关系,每一个加载器分别去加载不同作用范围的jar包,比如说Bootstrap Classloader(启动类加载器)
它主要是负责加载java核心类库的加载也就是lib目录下rt.jar和resources.jar等,Extension ClassLoader(扩展类加载器)主要加载lib\ext目录下的一个jar包和class文件,Application ClassLoader(应用类加载器),主要负责当前应用里面classpath下面的所有jar包和class文件,处理系统自己提供的类加载器以外还可以通过ClassLoader类来实现自定义加载器,去满足一些场景需要。
而所谓的双亲委派模型,就是按照类加载器的层级关系,逐层进行委派,比如当我们需要加载一个class文件的时候,首先会去把这个class文件的查询和加载委派给父加载器去执行,如果父加载器无法加载,再尝试自己去加载这个class
我认为这样的好处:
- 安全性:因为这种层级关系实际上代表的是一种优先级,也就是所有的类加载优先要给到启动类加载器,那么对于核心类库中的一些类就没有办法被破坏,比如自己写一个java.lang.String最终还是要交给启动类加载器,自己写的java.lang.String就没办法去覆盖类库中的类。
- 我认为这种层级关系的设计,可以避免重复加载导致程序混乱的一些问题,如果父加载器已经加载过了,那么子加载器就没有必要再去加载了。
而运行结果显示:
边栏推荐
- Comparison between FileInputStream and bufferedinputstream
- 最新坦克大战2022-全程开发笔记-2
- [中国近代史] 第六章测验
- 初识C语言(下)
- 13 power map
- 抽象类和接口
- C语言实现扫雷游戏(完整版)
- Database operation of tyut Taiyuan University of technology 2022 database
- Interview Essentials: talk about the various implementations of distributed locks!
- 2. Preliminary exercises of C language (2)
猜你喜欢
1.初识C语言(1)
6.函数的递归
2-year experience summary, tell you how to do a good job in project management
2. C language matrix multiplication
Counter attack of flour dregs: redis series 52 questions, 30000 words + 80 pictures in detail.
Introduction and use of redis
5. Download and use of MSDN
View UI plus released version 1.2.0 and added image, skeleton and typography components
8. C language - bit operator and displacement operator
C语言实现扫雷游戏(完整版)
随机推荐
4.30 dynamic memory allocation notes
arduino+水位传感器+led显示+蜂鸣器报警
Aurora system model of learning database
System design learning (I) design pastebin com (or Bit.ly)
继承和多态(上)
Counter attack of flour dregs: redis series 52 questions, 30000 words + 80 pictures in detail.
魏牌:产品叫好声一片,但为何销量还是受挫
Interview Essentials: talk about the various implementations of distributed locks!
5. Download and use of MSDN
1.C语言初阶练习题(1)
Rich Shenzhen people and renting Shenzhen people
What are the advantages of using SQL in Excel VBA
View UI plus releases version 1.1.0, supports SSR, supports nuxt, and adds TS declaration files
【毕业季·进击的技术er】再见了,我的学生时代
Redis cache obsolescence strategy
Comparison between FileInputStream and bufferedinputstream
初识指针笔记
View UI Plus 发布 1.1.0 版本,支持 SSR、支持 Nuxt、增加 TS 声明文件
String类
图书管理系统小练习