`
直线曲线
  • 浏览: 47042 次
  • 性别: Icon_minigender_1
  • 来自: 河北
社区版块
存档分类
最新评论

类加载器--命名空间--共享访问--安全

    博客分类:
  • java
阅读更多
1.每个类加载器都有一个独立的命名空间。
2.命名空间概念:虚拟机中存有加载器A的一张表,该表记录了将A视为初始类加载器的所有类型,该表极为A的命名空间。
3.在虚拟机中加载的类是唯一的,这须由加载器命名空间和类权限定名来一起作为限制。
4.类加载器采用双亲委派方式来使用合适的加载器进行加载工作。
5.真正进行加载工作的成为定义类加载器,而之前发起委派的以及定义类加载器都称为初始类加载器。
6.被加载的类A在其初始类加载器B,C,...中共享访问的。
7.加载类A后生成如下约束:
加载器B是类型A的初始类加载器,加载器C是类型A的初始类加载器,并且这两个类型A是同一个类型。

当恶意添加某同名A类(可能输出重要数据)以及重写加载器B(或C)时,这个约束会发现当前加载器B加载的类A和之前加载类A不是一个类型,从而提示错误。如果没有该约束,那么A被加载,重要数据被输出。
分享到:
评论

相关推荐

    链接器和加载器-Beta2

    ### 链接器和加载器相关知识点 #### 第1章 链接和加载 **链接器和加载器的作用** - **链接器**: 负责将多个目标文件(通常是由编译器生成的)合并成一个可执行文件或共享库。 - **加载器**: 负责将编译和链接后的...

    ( .Net常用命名空间和类介绍

    - **概述**:该命名空间提供了编写事务性应用程序和资源管理器的一些类。 - **应用场景**: - 事务处理:例如确保数据一致性。 #### 四、WEB命名空间 1. **System.Web** - **概述**:该命名空间包含用于管理和...

    《链接器和加载器》(中文版)

    - **加载器**则是在程序运行前将可执行文件从磁盘加载到内存,并完成必要的准备工作,如地址空间的设置等。 **地址绑定的历史视角**: - 地址绑定是将程序中的逻辑地址转换为物理地址的过程。早期计算机系统中,这...

    hazelcast-distributedclassloader:Hazelcast 之上的分布式类加载器实现

    - **隔离性**:通过类加载器的命名空间,可以实现不同应用或模块之间的类隔离,防止类名冲突。 在实际应用中,Hazelcast分布式类加载器常用于微服务架构,其中每个服务可能有自己的类加载器,这样可以确保服务间的...

    就业班JavaSE--day04 每日作业卷1

    - 包是Java中的命名空间,用于组织和管理类,避免命名冲突。 - 包的作用:提供模块化的结构,便于代码的管理和重用。 - 包命名规则:小写字母,采用反向域名方式,例如`com.example.myapp`。 - 包声明格式:`...

    个人笔记--JAVA基础

    - 内部类可以更好地访问外部类的成员变量和方法。 - 可以创建与外部类关联更紧密的类。 - **3.8.2. 内部类的特性** - 内部类可以访问外部类的私有成员。 - 内部类本身可以是抽象的或具体的。 - **3.8.3. 内部...

    DLL培训PPT--基本原理

    - **命名约定**:避免命名冲突,可以使用命名空间或前缀。 - **异常处理**:考虑DLL与调用程序间的异常传播机制。 综上所述,理解并掌握DLL的基本原理对于Windows平台的开发者来说至关重要。通过本PPT的学习,...

    MSDN_C#编程指南

    - **命名空间**:C#使用命名空间来组织类和避免命名冲突。 - **类和方法**:程序的基本构建单元是类,类中包含方法和其他成员。 #### 四、命令行参数 - **读取参数**:通过`args`数组可以从命令行读取输入参数。 - ...

    grub4dos-V0.4.6a-2017-02-04更新

    永远重复:序列图像无限循环,时间与菜单共享。可作为菜单里的动画。 背景透明:即抠像。要求4角像素为背景色。 背景色最好为白色或黑色,这样可以去除一些灰色杂波。若是彩色背景,则应当非常干净。 提醒:请以...

    C#基础工具类集合,DLL

    - 工具类通常会被组织到不同的命名空间下,以反映它们的功能或用途,例如`Utils.StringHelper`、`Utils.DateTimeHelper`等。 - 类定义是工具类的核心,包含一组公共方法和属性,这些方法和属性提供了对外部代码的...

    一本讲解c#语言规范的书,写的很详细(第二部分)

    - **20.9.1 命名空间和类型名称** - 如何解析命名空间和类型名称。 - **20.9.2 成员查找** - 如何在泛型类型中查找成员。 - **20.9.3 适用函数成员** - 如何确定最适用的函数成员。 - **20.9.4 更好的函数...

    Java面试八股文十万字总结.docx

    - **JVM的主要组成部分及其作用**:类加载器、执行引擎、内存管理器等。 - **指针碰撞**:对象内存分配的一种策略。 - **空闲列表**:记录可用内存区域的列表。 - **TLAB**:线程局部分配缓冲区,用于加速对象分配。...

    Java经典问题答案(带书签).pdf

    - 类文件冲突通常发生在多个版本的同一类被加载到JVM中时。 - 解决方案包括调整类路径、重新构建项目等。 **基本数据类型强制转换** - 强制类型转换用于将一种类型转换为另一种类型。 - 例如,将int类型转换为...

    Java基础教程.md.pdf

    - Application ClassLoader:应用程序类加载器。 ##### 11.3 Java反射机制 - 反射允许程序在运行时获取类的信息并操作对象。 #### 12. 输入/输出(IO) ##### 12.1 File类 - 文件和目录的创建、删除等操作。 ###...

    JAVA问题集

    - `this`和`super`通常用于解决命名冲突,或者在构造器中调用当前类或父类的其他构造器。 以上知识点覆盖了Java语言的基础知识和高级特性,从基础语法到面向对象编程、异常处理、集合框架、多线程等多个方面进行了...

    spring-security-reference

    XML 配置文件中引入了特定的安全命名空间,使得配置更加直观和简洁。设计该命名空间时,考虑到了易用性和灵活性之间的平衡。 ##### 2.2 安全命名空间配置入门 - **web.xml 配置**:这是 Web 应用程序部署描述符的...

    CoreJavaNoteBook

    - 内部类可以访问外部类的私有成员。 - **集合(Collection)**: - Java集合框架提供了统一的接口和实现。 - 包括List、Set、Map等常用集合类。 - **反射(Reflection)**: - 反射允许在运行时获取类的信息,并...

Global site tag (gtag.js) - Google Analytics