阅读“类装载器的体系结构”这一节时,
有一些的要点:
1.类装载器有两种: 启动类装载器和用户自定义的类的装载器。启动类装载器是Java虚拟机实现的一部分。启动类装载器通常使用某种默认方式从本地磁盘中装载类,包括Java API的类。启动类装载器也被称为原始类装载、系统类装载器或者默认装载器。
Java应用程序能够在运行时安装用户定义的类装载器,这种类装载器能够使用自定义的方式来装载类。
2.每个类被装载的时候,Java虚拟机都监视这个类,看它到底是被启动类装载器还是被用户自定义类装载器装载。当被装载的类引用了另外一个类时,虚拟机就会使用装载第一个类的类装载器 -->去装载 被引用的类。即比如,虚拟机会使用一个特定类装载器装载了Volcano类,它也会使用这个类装载器-->装载Volcano类中所引用到的所有类。
3.由于Java虚拟机采用2所述的这种方式进行类的装载,所以被装载类 默认情况下只能看到被同一个类装载器装载的别的类。 通过这种方法,Java的体系结构允许在一个Java应用程序中建立多个命名空间,运行时的java程序中的每一个类装载器都有它自己的命名空间。
4. 一个Java应用程序能够从
同一个类 或者
多个类 中 实例化
多个用户定义的
类装载器。(这句话好好理解下子)而,被不同类装载器装载的类存放在不同的命名空间中,它们不能相互访问,除非应用程序显示允许这样做。通过这种方法,就能够阻止恶意代码获取访问和破坏善意代码的权限。
类装载器的体系结构是Java虚拟机在安全性和网络移动性上发挥重要作用的一个方面。
Web浏览器是一个动态扩展的例子,web浏览器使用用户自定义的类装载器从网络上下载用于Java applet的class文件。只有当浏览器遇到有Java applet 的页面的时候,才决定是否需要下载class 文件。而不同来源的Java applet的class文件放置在不同的命名空间中,恶意的Java applet代码不会直接影响别的代码
分享到:
相关推荐
Java的核心思想主要包括对Java虚拟机(JVM)、类装载器体系结构、字节码执行以及本地方法的深入理解和应用。以下是对这些知识点的详细解析: 1. **Java虚拟机(JVM)**:JVM是Java平台的核心组成部分,它的主要职责...
以下将详细解析Java的四个核心概念:Java虚拟机(JVM)、类装载器体系结构、Java class文件以及Java API。 1. **Java虚拟机(JVM)** JVM是Java的核心组成部分,它的主要功能是加载、验证、执行class文件中的字节...
2. **类装载器体系结构**分为启动类装载器和用户定义的类装载器。启动类装载器是JVM的一部分,负责加载Java API和其他基础类。用户定义的类装载器可以通过自定义的方式加载类,比如从网络中获取class文件。这些类...
2. **类装载器体系结构** Java的类装载器分为两类:启动类装载器和用户定义类装载器。启动类装载器(通常是系统类装载器)是JVM的一部分,负责加载Java API类。用户定义的类装载器允许在运行时动态加载类,比如从...
Java类装载器体系结构设计灵活,支持不同类型的类装载器来适应不同的应用场景。主要分类包括: 1. **启动类装载器(Bootstrap Class Loader)**:它是JVM的一部分,负责加载Java核心库,如`rt.jar`。这些库通常位于...
Java类装载器的体系结构基于委托模型。当JVM请求加载一个类时,装载器首先将请求传递给其父装载器。只有当父装载器无法加载该类时,当前装载器才会尝试加载。这种结构形成了一个树形层次,根装载器(Bootstrap ...
- **类装载器的体系结构**:类装载器负责加载Java类到JVM中,它由多个不同的类装载器组成,如启动类装载器、扩展类装载器和应用程序类装载器。这种层次化的结构有助于实现类隔离以及安全性控制。 - **Java Class...
1.3.2 类装载器的体系结构 1.3.3 Java class文件 1.3.4 Java API 1.3.5 Java程序设计语言 1.4 Java体系结构的代价 1.5 结论 1.6 资源页 第2章 平台无关 2.1 为什么要平台无关 2.2 Java的体系...
1.3.2 类装载器的体系结构 1.3.3 java class文件 1.3.4 java api 1.3.5 java程序设计语言 1.4 java体系结构的代价 1.5 结论 1.6 资源页 第2章 平台无关 2.1 为什么要平台无关 2.2 java的体系...
- **类装载器体系结构**: - **启动类装载器**:加载核心类库,如`java.lang.*`等。 - **扩展类装载器**:加载位于`$JAVA_HOME/lib/ext`或`-Djava.ext.dirs`指定路径中的jar包。 - **应用类装载器(默认类装载器...
1.3.2 类装载器的体系结构 1.3.3 Java class文件 1.3.4 Java API 1.3.5 Java程序设计语言 1.4 Java体系结构的代价 1.5 结论 1.6 资源页 第2章 平台无关 2.1 为什么要平台无关 2.2 Java的体系结构对平台...
1.3.2 类装载器的体系结构 1.3.3 Java class文件 1.3.4 Java API 1.3.5 Java程序设计语言 1.4 Java体系结构的代价 1.5 结论 1.6 资源页 第2章 平台无关 2.1 为什么要平台无关 2.2 Java的体系...
从给定的文件信息来看,这是一份关于企业级数据库管理员(DBA)培训的教材,专注于Oracle数据库的体系结构和管理。以下是对文件中提到的关键知识点的详细解析: ### 1. Oracle数据库体系结构 - **Oracle数据库文件...
### 基于沙箱的Java安全体系结构 #### 概述 Java作为一种跨平台的编程语言,其安全模型的设计尤为关键。Java的安全沙箱机制是确保Java应用程序能够在不损害系统安全的前提下运行的重要保障。本文将详细介绍Java...
### OracleDB体系结构详解 #### 一、Oracle数据库体系结构概览 Oracle数据库以其高度可靠的性能、丰富的功能和广泛的应用场景而闻名于世。本文旨在深入解析Oracle数据库的体系结构,帮助读者理解其核心组件及运作...
### ARM体系结构详解 #### 一、ARM简介与公司背景 **ARM**(Advanced RISC Machines)是一家享誉全球的微处理器设计公司,以其高效能、低功耗及低成本的RISC(精简指令集)处理器而著称。不同于传统的芯片制造商,ARM...
从给定的文件信息中,我们可以提取和生成多个IT行业的知识点,主要集中在计算机体系结构领域。下面将详细解析这些知识点: ### 1. 计算机体系结构中的透明性概念 透明性是计算机体系结构中的一个重要概念,指的是...
ARM7是Advanced RISC Machines(ARM)公司设计的一种微处理器体系结构,具有高性能、低功耗和廉价等特点。ARM公司是一家专门设计微处理器的公司,不生产芯片,而是将技术授权给其他半导体、软件和OEM厂商,并提供...
2. **基本Java安全体系结构**:Java 2的安全体系结构包含了多个组件,如存取控制器、安全管理器、类装载器等,它们共同协作以确保代码执行的安全性。存取控制器负责控制对资源的访问,安全管理器作为核心组件,管理...