Java中的类加载器(Class Loader)

经典点云配准算法:迭代最近点算法ICP(Iterative Closest Point) 迭代最近点算法,又名为 ICP(Iterative Closest Point)算法。 (1)ICP算法对初始值的依赖比较大,具体的配准过程中,如何选择初始值是一个问题,可以使用轮式里程计、imu预积分或其它先验的配准结果。 (2)ICP迭代次数过多,实际工程中需要考虑到其实时性的优化问题。 (3)迭代终止的阀值的设置也是需要考虑的点,可以考虑自适应阀值的方法。 (4)关于寻找最近点可以使用kdtree进行临近搜索。 阅读详情

一、概述 

    类加载器负责加载class文件,class文件文件开头有特定的文件标识,将class文件字节码内容加载到内存中,并将这些内容转换成方法去中的运行时数据结构并且ClassLoader只负责class文件的加载,至于它是否可以运行,则由执行引擎(Execution Engine)决定

   有没有联想到什么,很可爱有没有?(滑稽脸)

 

二、虚拟机自带的加载器

1.启动类加载器(根加载器/Bootstrap, 基于C++实现)

  在实例化JDK自带的类时就会通过根加载器进行加载,通过代码可以看到这个加载器打印出null,是因为其无法被Java程序直接调用所以在Java中为null(通过根加载器加载会调用findBootstrapClass()方法,这是一个本地方法)。

 

2.扩展类加载器(Extension,基于Java实现)

   扩展类加载器主要用于加载扩展包

扩展包位置位于如图所示:

 

3.应用程序类加载器(AppClassLoader),Java也叫系统类加载器,加载当前应用的classpath的所有类

   在实例我们自定义的类时,将通过AppClassLoader进行加载,如下图所示:

4.各加载器之间的关系

      从图中可以看出AppClassLoader是ExtClassLoader的子加载器,而ExtClassLoader是根加载器的子加载器

 

5.类的加载顺序(加载器角度)

    在我们加载一个类首先会在AppClassLoader下验证是否已经加载过此类,如果没有,则会交给父加载器,一直往上推,当根加载器也无法加载此类时,就交由子加载器进行加载,一直到最底层的AppClassLoader,当AppClassLoader也无法加载此类时,就会抛出ClassNotFoundException

     Java为什么要提供这种加载类的机制?其实这就是Java类加载中的双亲委派机制

6.双亲委派机制的作用

   其最主要的作用是防止开发人员污染JDK,保证Java的安全性,举个例子说明如下图:

    这是我自定义的String类,关键在于我把它放在了java.lang包下,根据双亲委派机制JDK自带的类将会在根加载器中进行加载,因此运行此代码将会报错,如图所示,JDK自带的String类并没有main方法。

7.源码欣赏(滑稽脸)

    这是类加载中的关键代码loadClass()方法,详情可自行查阅JDK源码。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

以上内容均为个人通过学习后的个人理解,如有不实之处,请各位读者提出,吾必及时改正,非常感谢!

BraTS数据集保姆级使用指南:从下载、预处理到可视化(附Python脚本) 本文提供BraTS数据集的完整使用指南,涵盖从下载、预处理到可视化的全流程,并附有Python脚本示例。详细解析了医学影像处理中的数据结构、标准化流程和可视化技巧,帮助初学者快速掌握BraTS数据集的应用方法,提升医学影像分析效率。 阅读详情

相关推荐

读书笔记|智能运维系统落地方案

对于互联网公司来说,系统复杂化导致的人工运维成本激增已经是普遍现象,采用智能运维是行之有效的应对策略。智能运维的核心思想是利用算法来处理海量运维数据,积累运维经验,从而代替人工思考判断,以自动化的过程实现风险的预防、发现、定位和处理。而智能运维系统是其中的重中之重,但建设企业应用智能运维系统,不是应用运维部独立规划设计就可以完成的,它需要业务、产品、开发、基础设施运维多部门协同才能顺利实施。 那么,作为运维人员,您是否了解智能运维系统的架构?如果参与规划建设智能运维系统,该怎么着手呢?下面我们立足实际需求

xiaoshuaca的博客 681

Java中类ClassLoader(加载器)全解

Java中类ClassLoader(加载器)全解。引导类加载器、扩展类加载器、系统类加载器负责加载范围详解;ClassLoader源码解析;双亲委派模型流程详解、优势和劣势详解。

全栈行动派的博客 1万+

HDRP shader 获取阴影(Custom Pass)

Unity:2021.3.0f1 HDRP:12.1.6

LanQ的博客 2097

一看你就懂,超详细java中的ClassLoader详解

ClassLoader翻译过来就是类加载器,普通的java开发者其实用到的不多,但对于某些框架开发者来说却非常常见。理解ClassLoader的加载机制,也有利于我们编写出更高效的代码。ClassLoader的具体作用就是将class文件加载到jvm虚拟机中去,程序就可以正确运行了。但是,jvm启动的时候,并不会一次性加载所有的class文件,而是根据需要去动态加载。想想也是的,一次性加载那么多jar包那么多class,那内存不崩溃。本文的目的也是学习ClassLoader这种加载机制。 备注:本文篇幅比

kyfxing的博客 716

GIS分析-利用K-Means方法进行地震分析

通过“聚类”可以获得有关我们所拥有的数据的各种线索,这是数据挖掘技术之一。分析创建的组有助于决策过程。在这项研究中,我们将使用数据挖掘工具之一的K-Means方法研究安纳托利亚东部地区近100年发生的地震的空间分布,并试图获得有用的信息,以供未来的研究使用。我从局地震目录页面获得了研究所需的地震数据,并从获得了区域边界数据。

gis收藏家的博客 1569

变压器励磁电感、励磁电流、漏感、漏感折算

励磁、漏感知识整理

HW-BASE的博客 1万+

深入理解Java类加载器(ClassLoader)

加载器(ClassLoader)

QG 1706

基于强化学习的工业SCR脱硝系统控制算法设计与实现

本文提出了一种基于强化学习的工业SCR脱硝系统智能控制方法。针对SCR系统存在的非线性、大滞后和多变量耦合等控制难点,研究采用混合建模方法构建了精度在5%以内的系统模型,并设计了专门的强化学习环境。该方法通过定义合理的动作空间和状态空间,结合物理约束设计损失函数,利用深度强化学习算法优化氨喷射控制策略。相比传统PID控制,该智能控制器能更好地适应烟气参数波动,实现NOx排放的稳定控制,为工业环保设施提供了更优的自动化解决方案。

huanghm88的专栏 1456

Class Monitor 实战

一同一类的静态方法都用synchronized修饰 1代码 package concurrent; import java.util.concurrent.TimeUnit; public class ClassMonitor { public static synchronized void method1() { System.out.println(Thread.currentThread().getName() + " enter to method1");...

实践求真知 636

深入Android构建系统:一次修改ro.vendor.build.fingerprint失败的排查与解决记录

本文深入探讨了Android构建系统中修改ro.vendor.build.fingerprint的完整解决方案。通过分析vendor分区的特殊地位和构建指纹的生成路径,提供了三种实战修改方法,并揭示了指纹修改可能遇到的陷阱与对策,帮助开发者彻底解决这一常见问题。

weixin_30621711的博客 141

智慧楼宇解决方案-全套大合集

智慧楼宇解决方案,楼宇能耗-环境-设备统一管控解决方案。

byte58的博客 2590

java monitor 翻译_管程(Monitor)概念及Java的实现原理

互斥互斥访问是并发编程要解决的核心问题之一。有许多种方法可以满足临界区的互斥访问。大体上可以分为三种,一种是软件方法,即由用户程序承担互斥访问的责任,而不需要依赖编程语言或操作系统,譬如Dekker算法、Peterson算法等,通常这种方式会有一定的性能开销和编程难度。第二种是操作系统或编程语言对互斥的原生支持,譬如Linux中的mutex、Java语言的synchronized。最后是硬件上的特...

weixin_35709851的博客 460

GEE:随机森林分类教程(样本制作、特征添加、训练、精度、参数优化、贡献度、统计面积)

本文将介绍在Google Earth Engine (GEE)平台上进行随机森林分类的方法和代码,其中包括制作样本点教程(本地、在线和本地在线混合制作样本点,合并样本点等),加入特征变量,运行随机森林分类器教程,计算随机森林分类结果的精度,优化随机森林分类算法的参数,打印各个变量特征的贡献度等步骤的方法和代码。本教程可以应用于多种分类场景,包括土地利用分类、种植区提取(大蒜、小麦、玉米等)、局部气候区分类、植被分类等多种场景。

养乐多的博客 1万+

Java类加载器(Class Loader)之详解

本文主要总结一下我对Java类加载器(Class Loader)认识,如有不准确之处还望大侠不吝赐教! 关键字:Java,类加载器(Class Loader) 主要从如下几个部分进行介绍: 类加载的过程类加载器的层级类加载器的操作原则为什么要个性化类加载器其它相关问题 类加载的过程 类加载器的主要工作就是把类文件加载到JVM中。如下图所示,其过程分为三步: 加载:定位要加载

Radic Feng的专栏 9756

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Java 类加载器Class Loader

类加载器(class loader)是 Java™中的一个很重要的概念。类加载器负责加载 Java 类的字节代码到 Java 虚拟机中。本文首先详细介绍了 Java 类加载器的基本概念,包括代理模式、加载类的具体过程和线程上下文类加载器等,接着介绍如何开发自己的类加载器,最后介绍了类加载器在 Web 容器和 OSGi™中的应用。 类加载器是 Java 语言的一个创新,也是 Java 语言

Index.html 621

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

深入解析Java中的Class Loader类加载器

这种理解对Bootstrap Class Loader,Extention Class Loader,System Class Loader这些加载器是正确的,但一些个性化的加载器则不然,比如,IBM Web Sphere Portal Server实现的一些类加载器就是Parent Last的,是子加载器首先尝试加载,如果加载失败才会请父加载器,这样做的原因是:假如你期望某个版本log4j被所有应用使用,就把它放在WAS_HOME的库里,WAS启动时会加载它。)判断,将会得到不相等的结果。

wb1597063760的博客 721

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Java中的类加载器--Class loader

  学习一下Java中的类加载器,这个是比较底层的东西,好好学习、理解一下。 一、类加载器的介绍 1、类加载器:就是加载类的工具,在java程序中用到一个类,java虚拟机首先要把这个类的字节码加载到内存中来,但是通常这个类的原始信息是放在硬盘上的classpath指定的路径下,将.class文件的内容加载到硬盘上来,再对它进行一些处理,处理完的结果就是字节码,这些工作就是类加载器...

weixin_30318645的博客 101

jvm复习: 通过java.system.class.loader自定义系统类加载器

jvm

amadeus_liu2的博客 591

Java class loader 类加载器

 Java高新技术:类加载器详解

weixin_33711641的博客 81

java 类加载器(class loader)深入探讨

类加载器是 Java 语言的一个创新,也是 Java 语言流行的重要原因之一。它使得 Java 类可以被动态加载到 Java 虚拟机中并执行。类加载器从 JDK 1.0 就出现了,最初是为了满足 Java Applet 的需要而开发出来的。Java Applet 需要从远程下载 Java 类文件到浏览器中并执行。现在类加载器在 Web 容器和 OSGi 中得到了广泛的使用。一般来说,Jav

大树叶 技术专栏 583

java中的类加载器(Class Loader)和双亲委派

类加载器(Class Loader) 什么是类加载器 java中可以通过一个类的的全限定名来获取描述该类的二进制字节流,这个动作是由代码来实现的,这些代码就是类加载器(Class Loader) 类加载器的层级: Bootstrap Class Loader - 启动类加载器 此加载器负责加载JAVA_HOME/lib目录下的类库文件或者是被JVM参数-Xbootclasspath所指定路径下的类库文件,并且这些文件需要JVM可以识别,否则即使放到JAVA_HOME/lib目录下也不会被加载 测试代码 p

一个对Java“一往情深”的后端程序员,对Java生态体系有着浓厚的兴趣与持续的研究。当我不在Java里“内卷”时,我也会探出头来,看看Web技术的广阔天地。希望通过这个博客,与所有同行交流切磋,共同进步。 695

java 类加载器(Class Loader)之概括性总结

本文主要总结一下我对Java类加载器(Class Loader)认识,如有不准确之处还望大侠不吝赐教! 关键字:Java,类加载器(Class Loader) 主要从如下几个部分进行介绍: 类加载的过程类加载器的层级类加载器的操作原则为什么要个性化类加载器其它相关问题 类加载的过程 类加载器的主要工作就是把类文件加载到JVM中。如下图所示,其过程分为三步:

Code-lover's Learning Notes 929

Java 类加载器(Class Loader)的核心概念和关键点

Java 类加载器(Class Loader)的核心概念和关键点

爱的叹息的专栏 615

java 解释器能够加载的类_Java中的类加载器--Class loader

学习一下Java中的类加载器,这个是比较底层的东西,好好学习、理解一下。一、类加载器的介绍1、类加载器:就是加载类的工具,在java程序中用到一个类,java虚拟机首先要把这个类的字节码加载到内存中来,但是通常这个类的原始信息是放在硬盘上的classpath指定的路径下,将.class文件的内容加载到硬盘上来,再对它进行一些处理,处理完的结果就是字节码,这些工作就是类加载器在做扩展一下一个java...

weixin_35504293的博客 278

Java 深入分析Class-Loader工作机制-类加载器-Java web实现

Class-Loader类加载器,负责将class加入到JVM中。还可以审查没个类应该由谁进行加载,父优先的加载机制;还可以将Class字节重新解析成JVM统一要求的对象格式; 1)defineClass方法:将byte字节流解析成JVM能够识别的Class对象。 2)findClass方法来实现类的加载规则,从而取得要加载类的字节码。 实现Class-Loader一般会继承URL-Clas...

洋葱专栏-有灵魂的程序员 217

java类加载器_Java自定义系统类加载器(Java11)

Java自带的类加载器有三个,分别是BootClassLoader,PlatformClassLoader和AppClassLoader,这三个类加载器如下图源码中位置.默认情况下加载我们classpath下的class文件的类加载器就是这个APP_LOADER,好多地方也把这个AppClassLoader翻译成系统类加载器,个人觉得这个翻译不是很准确,我猜测翻译成功系统类加载器是因为ClassL...

weixin_39979167的博客 703
下一篇: 浅谈JSP(Java Server Page)
MonitorAllen
博客等级 码龄8年 1粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值