1.
委托原则:当加载一个类时,首先会委托父加载器来加载
2.
可视化原则:子类加载器能看到父类加载器加载的所有类,但是反过来是不行的。同时,兄弟类加载器也看不到对方加载的类
3.
唯一性原则:如果一个类加载器加载了某个类,那么它的子类加载器是不会再加载该类了的。
Delegation Principle:
If a class is not loaded already, the classloaders delegate the
request to load that class to their parent classloaders.
Visibility Principle:
Classes loaded by parent classloaders are visible to child
classloaders but not vice versa.
Uniqueness Principle:
When a classloader loads a class, the child classloaders in the
hierarchy will never reload that class.
参考:
http://www.objectsource.com/j2eechapters/Ch21-ClassLoaders_and_J2EE.htm
分享到:
相关推荐
本文将详细介绍Java中的四个核心概念:类加载机制、类装载系统、Java类文件以及Java API。 #### 一、类加载机制(Class Loading Mechanism) 在Java中,类加载是一项非常重要的任务,因为它负责将Java源代码编译后...
每个Java应用程序都有一个初始类装载器(Bootstrap ClassLoader),它是所有其他类装载器的父装载器。 - **双亲委派模型**:类装载器遵循一种称为“双亲委派模型”的原则,即子类装载器会先委托其父类装载器尝试...
综上所述,Java的核心技术思想涵盖了JVM的工作原理、类装载器的设计、内存管理和面向对象的基本原则等多个方面。掌握这些核心概念不仅有助于更好地理解和使用Java语言本身,还能为后续深入学习和开发Java应用打下...
Java技术体系主要分为三个部分: 1. **Java SE(J2SE)**,即Java标准版,用于开发桌面应用程序。 2. **Java EE(J2EE)**,即Java企业版,用于构建面向互联网的应用程序,包括服务器端组件和Web服务。 3. **Java ...
QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新好友列表,响应用户双击的事件,并得到好友的编号,把聊天界面加入到管理类,设置密码保护等。 Java编写的网页版魔方游戏 内容索引:JAVA...
Java异常处理结构包括try、catch和finally三个基本代码块。 - try块用于包裹可能会抛出异常的代码段。 - catch块用于捕获try块中抛出的异常,可以有多个catch块来捕获不同类型的异常。 - finally块用于执行清理工作...
2. **连接**:包括验证、准备和解析三个步骤。 - **验证**:确保加载的类文件符合JVM的格式。 - **准备**:为类变量分配内存并设置默认初始值。 - **解析**:将符号引用转换为直接引用。 3. **初始化**:执行类...
Java类装载器分为三个主要的层次:Bootstrap ClassLoader、Extension ClassLoader和Application ClassLoader,以及用户自定义的ClassLoader。 Bootstrap ClassLoader是JVM的启动类装载器,它由C/C++实现,不继承自...
* 接口优于抽象类,java是单继承的,但是类允许实现多个接口。 * 方法可变参数要谨慎使用,避免传0个参数的参数个数在1~多个之间。 * 精确计算,避免使用float和double,可以使用int或long以及BigDecimal。 * 当心...
- **JVM体系结构**:由类装载器子系统、运行时数据区及执行引擎组成,协同工作以执行Java程序。 - **JVM生命周期**:从Java程序启动创建JVM实例开始,至所有非守护线程结束运行后结束。 #### 三、面向对象核心原则 ...
4. **静态内部类**:这种方式利用了类装载的机制来保证初始化实例时只有一个线程,既达到了懒加载,又避免了同步。 ```java public class Singleton { private Singleton() {} private static class Singleton...
为了应对这种需求,设计时应限制查询中关联的表数量,理想情况下不应超过三个,以保持查询速度。 **索引构建**是另一个关键环节。对于大型数据库,建立合适的索引能够显著提高查询速度,尽管它可能略微降低插入和...
Java中的Singleton(单例模式)是一种常用的软件设计模式,它保证了类只有一个实例,并提供一个全局访问点。这种模式在需要频繁创建和销毁对象的场景中特别有用,因为它可以节省系统资源,例如数据库连接或者线程池...
- **基本类型的包装类**:Java提供了每个基本类型的包装类,如`Integer`、`Double`等。 - **基本类型与包装类的区别**:基本类型在内存中直接存储值,而包装类则是对象,存储的是引用。 - **自动装箱与拆箱**:Java...
2. JVM:在有限的资源下运行Java代码,支持类装载、垃圾回收等功能,确保代码高效执行。 三、Java智能卡的开发流程 1. 定义需求:明确智能卡需要实现的功能,如电子钱包、加密服务等。 2. 设计Applet:编写符合...
- 当一个类的基本功能需要扩展时。 - 动态地给一个对象添加功能,这些功能可以再动态地撤销。 **优点**: - 装饰模式与继承关系的目的都是要扩展对象的功能,但是装饰模式可以提供比继承更多的灵活性。 - 装饰模式...
- **NoClassDefFoundError**:当Java虚拟机或者类装载器试图实例化某个类,而找不到该类的定义时抛出该错误。 - **NoSuchFieldError**:当应用试图访问或者修改某类的某个域,而该类的定义中没有该域的定义时抛出该...
类装载器遵循“最先找到的优先”原则,这意味着一旦找到一个匹配的类,它就不会再检查后续的路径,这可能导致错误版本的类被加载。 为了解决这些问题,文章介绍了一个名为JWhich的工具。这个工具模仿了Unix的`which...