6、Java平台安全:安全类加载机制解析

Java平台安全:安全类加载机制解析

1. 动态类加载概述

动态类加载是Java虚拟机的一项基本特性,它使得Java平台能够在运行时安装软件组件。这一特性具有多个有趣的特点:
- 懒加载 :意味着类是按需加载的,仅在需要解析链接时才会被加载。
- 类型安全链接 :Java虚拟机通过添加链接时检查来维护类型安全,这些检查仅执行一次,从而避免了额外的运行时检查。
- 用户可定义的类加载策略 :支持用户自定义类加载器,用户可以定制类的加载方式。
- 多命名空间 :例如,浏览器可以将来自不同网页的小程序加载到不同的类加载器中,从而在这些小程序类之间保持一定程度的隔离。即使这些小程序可能包含同名的类,Java虚拟机也会将它们视为不同的类型。

语言类型安全通过多种技术来强制执行,包括字节码验证、类加载和运行时检查。本文将重点介绍定位类文件、确定合适的类加载器、为加载的类分配合适的安全属性,以及将类与保护域关联的算法和API。

2. 类文件、类型和定义类加载器

2.1 类文件

当类加载器加载Java软件组件时,最小的组件单元是类。类以一种与机器无关的二进制表示形式定义,称为类文件格式。单个类的表示称为类文件,尽管它不一定存储在实际的文件中。通常,类是编译类的源代码后创建的文件。类文件可能包含字节码,以及对字段、方法和其他类名称的符号引用。例如,以下是一个类C的声明:

class C
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值