JVM在运行时身成三个classloader:Bootstrap ClassLoader、Extension ClassLoader和AppClassLoader。这些classloader是用来载入本地已知的类库。
Bootstrap
这是用C/C++写死在JVM里了,JVM启动时建立的第一个classloader,负责载入核心类库(jre/lib/*.jar)。
Extension ClassLoader
由Bootstrap生成该类,parent定为null(Bootstrap不是java写的,当然只能指定null),负责载入jre/lib/ext中的类。
AppClassLoader
由Bootstrap生成该类,parent定为Extension ClassLoader,负责载入classpath(环境变量)中指定的类库。
其他
在其他一些情况下,比如事先没有加入环境变量的类库,或者从其他一些地方获取class比如网络,利用上面的classloader就不能寻找到指定类。这时候就需要扩展classloader,给定class文件的准确位置,这样java应用程序才能找到class文件。
分享到:
相关推荐
为了提高性能,WorldWind Java支持LOD(Level of Detail)技术,根据模型与相机的距离动态调整细节级别。源代码可能会包含计算和切换LOD级别的逻辑。 7. **交互与事件处理**: 可能还会涉及到用户交互,如鼠标...
在Java_3D中载入外部3D模型文件.pdf
总的来说,要在Java 3D中加载和显示外部3D模型,需要理解`ObjectFile`类的工作原理,掌握正确的加载方法,并且熟悉Java 3D的坐标系统以便进行必要的几何变换。这将帮助开发者将复杂的3D模型无缝地集成到他们的Java...
Java并发编程中的内存模型是Java虚拟机(JVM)规范的一部分,它的设计目的是为了屏蔽不同硬件和操作系统内存访问的差异,确保Java程序在各种平台上都能有一致的内存访问行为。在并发环境中,线程间的通信和同步至关...
2. 双亲委托模型:Java的类别加载机制遵循双亲委托模型,即当一个类加载器接收到加载类的请求时,它首先会将任务委托给其父类加载器,只有当父类加载器无法加载时,子类加载器才会尝试加载,这样可以确保系统类不被...
在Java中,每个类都是一个独立的执行单元(即`.class`文件),它们可以在运行时被动态加载和执行。这种特性使得Java程序可以在不停止运行的情况下更新代码,极大地提高了程序的灵活性和可维护性。 #### 四、类加载...
在"Java感知机"项目中,Swing被用来创建一个可视化界面,用户可以输入数据或者载入数据文件,然后模型会根据这些数据执行训练并展示结果。 感知机的学习过程包括了两个主要步骤:更新权重和判断错误。当一个新的...
通过Java3D提供的三维模型载入接口,可以将模型导入仿真系统中进行显示,并通过人机交互的方式进行操作和分析。 通过系统的建模算法原理和3D仿真过程模型导入、显示以及人机交互的实现,本文为基于Java3D平台的重载...
1. **字节码与类加载机制**:Java源代码被编译成.class文件,这些文件包含字节码,这是JVM能够理解和执行的二进制指令。类加载器是JVM的一部分,负责查找和加载类文件,确保程序运行时正确地引用到所需的类。 2. **...
它是Java平台的独特特性,因为它允许动态加载类,增强了软件的可扩展性和灵活性。这篇博文(虽然链接不可用)可能深入探讨了ClassLoader的工作原理及其在Java应用程序中的应用。 ClassLoader分为三个主要层次:...
"Java内存模型知识详解" Java内存模型是Java虚拟机(JVM)中的一种抽象概念,定义了Java程序中变量的访问规则和内存模型的交互关系。 Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量...
书中可能详细讲解了自定义类加载器的创建、类加载的生命周期、以及如何利用类加载机制实现动态加载和热部署。 接下来,“CH_03.Java与MS Office.pdf”这部分可能会探讨Java与Microsoft Office系统的集成。Java提供...
为了理解多线程Java程序在多处理器上的行为,我们需要正式理解硬件内存模型(如SPARC的TSO/PSO模型)以及软件内存模型(JMM)。通过正式的可执行规范,我们可以计算测试程序在JMM和硬件内存模型下的所有允许行为,...
它按照双亲委派模型工作,保证了类的唯一性,并且允许自定义类载入器以实现特定的加载策略,比如动态加载或热更新。 接下来,Java与MS Office的集成,主要是通过Java的COM(Component Object Model)接口来实现的,...
栈是Java线程执行方法的内存模型,每个线程对应一个栈,用于存储局部变量、操作数栈、动态链接、方法出口等信息。当线程结束时,相应的栈也释放。本地方法栈与栈类似,只是它用于存放本地方法。 JVM的内存结构是一...
本文探讨了基于JAVA3D技术实现核电站三维模型在线浏览系统的研究,该系统能够满足工程公司、施工方、制造方和业主等相关方对核电站三维模型进行在线浏览的需求。 首先,文章概述了核电站设计领域三维设计工具的应用...
10.4.3 动态类加载 10.4.4 具有多重接口的远程引用 10.4.5 远程对象与equals、hashCode和clone方法 10.5 远程对象激活 10.6 Web Services与JAX-WS 10.6.1 使用JAX-WS 10.6.2 Web服务的客户端 10.6.3 Amazon的E-...
功能说明: 创作新漫画添加板,盒子,模型,气泡文件载入文件注册导出为PDF 印象添加个人模型漫画上传插件列表: 申请书的英文应用程序的其他语言角色模型对象模型风景模型应用程序图形主题(提取格式) (几种语言...
1. 类与对象:Java是一种面向对象的语言,"wzq.class"和"wzq$1.class"代表编译后的类文件,"wzq"可能是游戏主类,而"$1"通常表示内部类。这里涉及类的定义、对象的创建以及成员变量和方法的使用。 2. GUI编程:...