当前位置:网站首页>关于双亲委派机制和类加载的过程
关于双亲委派机制和类加载的过程
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就没办法去覆盖类库中的类。
- 我认为这种层级关系的设计,可以避免重复加载导致程序混乱的一些问题,如果父加载器已经加载过了,那么子加载器就没有必要再去加载了。
而运行结果显示:
边栏推荐
- What are the advantages of using SQL in Excel VBA
- 【九阳神功】2018复旦大学应用统计真题+解析
- Arduino+ds18b20 temperature sensor (buzzer alarm) +lcd1602 display (IIC drive)
- String类
- 162. Find peak - binary search
- 9. Pointer (upper)
- First acquaintance with C language (Part 1)
- The overseas sales of Xiaomi mobile phones are nearly 140million, which may explain why Xiaomi ov doesn't need Hongmeng
- 最新坦克大战2022-全程开发笔记-1
- 8.C语言——位操作符与位移操作符
猜你喜欢
3. Number guessing game
4. Binary search
学编程的八大电脑操作,总有一款你不会
2. C language matrix multiplication
5. Function recursion exercise
2.C语言初阶练习题(2)
Alibaba cloud microservices (I) service registry Nacos, rest template and feign client
5.函数递归练习
最新坦克大战2022-全程开发笔记-1
System design learning (I) design pastebin com (or Bit.ly)
随机推荐
Solution: warning:tensorflow:gradients do not exist for variables ['deny_1/kernel:0', 'deny_1/bias:0',
Floating point comparison, CMP, tabulation ideas
2.初识C语言(2)
Alibaba cloud microservices (II) distributed service configuration center and Nacos usage scenarios and implementation introduction
CorelDRAW plug-in -- GMS plug-in development -- Introduction to VBA -- GMS plug-in installation -- Security -- macro Manager -- CDR plug-in (I)
最新坦克大战2022-全程开发笔记-2
【话题终结者】
6. Function recursion
Questions and answers of "Fundamentals of RF circuits" in the first semester of the 22nd academic year of Xi'an University of Electronic Science and technology
Alibaba cloud microservices (III) sentinel open source flow control fuse degradation component
Cloud native trend in 2022
View UI Plus 发布 1.3.1 版本,增强 TypeScript 使用体验
Inheritance and polymorphism (I)
TYUT太原理工大学2022数据库大题之E-R图转关系模式
ROS machine voice
167. Sum of two numbers II - input ordered array - Double pointers
【九阳神功】2017复旦大学应用统计真题+解析
初识C语言(上)
JS interview questions (I)
C语言实现扫雷游戏(完整版)