首页 > 其他分享 >小白秒懂什么是双亲委派模型

小白秒懂什么是双亲委派模型

时间:2024-09-05 23:50:42浏览次数:10  
标签:委派 类库 尝试 小白 双亲 上级 加载

小白秒懂什么是双亲委派模型

在说双亲委派模型前,我们需要先了解类加载器:
类加载器:JVM只会加载二进制文件,类加载器的作用就是将字节码文件加载至JVM中。

类加载器有四种:

  • BootStrap ClassLoader:启动类加载器,C++语言编写 JAVA_HOME/jre/lib目录下。
  • ExtClassLoader:扩展类加载器,JAVA_HOME/jre/lib/ext目录下。
  • AppClassLoader:应用类加载器,加载我们自己写的Java类。
  • CustomizeClassLoader:自定义加载器。

在这里插入图片描述

双亲委派机制:在尝试加载某一个类的时候,类加载器之间会尝试让自己的上级加载器进行加载,如果上级加载器还有上级,则继续委托上级尝试加载。如果上级加载器无法加载这个类,则让它的下级尝试加载。

那双亲委派机制的作用是什么那?

  1. 通过这种机制,可以确保一个类不被重复加载,当父类加载器已经加载了这个类,则无需再次重复加载。
  2. 防止类库API被修改。

最重要的就是防止类库API被修改,看下面实例代码:

public class String {
	public static void main(String[] args){   
		//执行就会报错,因为双亲委派机制会让这个类在BootStrap ClassLoader启动类加载器加载
		//在尝试加载时,发现jre下有相同名字的类文件,做到了防止类库API被修改的中作用
	}
}

但其实,双亲委派机制是可以被打破的。
打破方法就是:去自定义一个类加载器,并继承ClassLoader类,重写其中的loadClass()方法。Tomcat就是利用这种方式,做到了打破双亲委派机制。

标签:委派,类库,尝试,小白,双亲,上级,加载
From: https://blog.csdn.net/Patrick_Srar/article/details/141946929

相关文章

  • Claude的小白入门指南
    要想快速上手ClaudeAI,其实并没有那么复杂。作为新一代的AI助手,Claude致力于为用户提供高效、无害、透明的交互体验。这篇入门指南将从ClaudeAI的特点、主要功能和如何实际操作等几个方面为大家做一个详细的介绍。ClaudeAI是什么?Claude是由Anthropic开发的一款多功能AI......
  • 找质数完整版?(小白的练习)
    目的很简单,学到哪就稍微用一下刚学的知识,下面是我的代码(其中有些步骤可以简化,就比如在search函数中用指针没什么意义,因为我只需要return“tureorfalse”如果用指针其实是杀鸡用牛刀,不过只是练习一下学的,所以目的不同代码自然不同,欢迎指教#include#includevoidsearch(int......
  • C++入门项目:Linux下C++轻量级Web服务器 跑通|运行|测试(小白进)
    TinyWebServer是一个开源的项目,适合小白入门C++网络编程,注意该项目是在linux系统下。Linux下C++轻量级Web服务器,助力初学者快速实践网络编程,搭建属于自己的服务器.使用线程池+非阻塞socket+epoll(ET和LT均实现)+事件处理(Reactor和Proactor均实现)的并发模型使用状......
  • 【亚马逊运营经验帖】跨境选品9大实操策略,小白必看!
    一个新手卖家要想在亚马逊这个庞大的平台上分得一杯羹,不深入了解一些选品的技巧恐怕是不行的。七分靠选品,三分靠运营。可见选品的成功与否对于一个listing能否快速爆单至关重要,这篇文章是从帮助小白的角度去分析选品的一些基本思路。1、重量不能太重初入亚马逊的小白,基本上......
  • 【小白深度教程 1.5】手把手教你用立体匹配进行双目深度估计,以及 3D 点云生成(含 Pytho
    【小白深度教程1.5】手把手教你用立体匹配进行双目深度估计,以及3D点云生成(含Python代码解读)1.立体匹配的原理2.块匹配算法(BlockMatchingAlgorithm)2.1代码中的立体匹配过程概述2.2代码原理及公式2.2.1.窗口匹配和代价函数(SAD)2.2.2.匹配过程2.2.3.......
  • [JVM]双亲委派
    什么是双亲委派机制首先,我们知道,虚拟机在加载类的过程中需要使用类加载器进行加载,而在Java中,类加载器有很多,那么当JVM想要加载一个.class文件的时候,到底应该由哪个类加载器加载呢?这就不得不提到"双亲委派机制"。首先,我们需要知道的是,Java语言系统中支持以下4种类加载器:Bootst......
  • GBDT模型 0基础小白也能懂(附代码)
    GBDT模型0基础小白也能懂(附代码)原文链接啥是GBDTGBDT(GradientBoostingDecisionTree),全名叫梯度提升决策树,是一种迭代的决策树算法,又叫MART(MultipleAdditiveRegressionTree),它通过构造一组弱的学习器(树),并把多颗决策树的结果累加起来作为最终的预测输出。该算法将决策树与......
  • 回归树模型 0基础小白也能懂(附代码)
    回归树模型0基础小白也能懂(附代码)啥是回归树模型大家在前面的部分学习到了使用决策树进行分类,实际决策树也可以用作回归任务,我们叫作回归树。而回归树的结构还是树形结构,但是属性选择与生长方式和分类的决策树有不同。要讲回归树,我们一定会提到CART树,CART树全称Classification......
  • 随机森林分类模型 0基础小白也能懂(附代码)
    随机森林分类模型原文链接啥是随机森林随机森林是一种由决策树构成的(并行)集成算法,属于Bagging类型,通过组合多个弱分类器,最终结果通过投票或取均值,使得整体模型的结果具有较高的精确度和泛化性能,同时也有很好的稳定性,广泛应用在各种业务场景中。随机森林有如此优良的表现,主要归......
  • 决策树算法 0基础小白也能懂(附代码)
    决策树算法原文链接啥是决策树决策树(Decisiontree)是基于已知各种情况(特征取值)的基础上,通过构建树型决策结构来进行分析的一种方式,是常用的有监督的分类算法(也就是带有标签的训练数据集训练的,比如后文中使用到的训练集中的好瓜坏瓜就是标签,形容瓜的就是特征)决策树模型(Decision......