Java 安全

内容:

    1. 类加载器(与负责控制代码运行的安全管理器类协同工作获取最大的安全性)

    2. 字节码校验

    3. 安全管理器与访问权限

    4. 用户认证

    5. 数字签名

    6. 代码签名

    7. 加密

Java 提供的三种确保安全的机制:

    (1) 语言设计特性(数组的边界检查,类型转换的检查,算法无指针)

    (2) 访问控制机制,例如文件访问、网络访问控制

    (3) 代码签名

9.1 类加载器

每个Java程序至少拥有三个类加载器:

    引导类加载器

        加载系统类(从rt.jar 中加载 ),用C 语言实现,没有对应的ClassLoader 对象

    扩展类加载器

        从jre/lib/ext 目录加载“标准扩展”

    应用类加载器

        加载应用类。在由CLASSPATH 环境变量或者-classpath 命令行选项设置类路径中的目录里或JAR/ZIP 文件里查找应用类。

ClassLoader 的类图如下。

ClassLoader 类图

在Oracle的Java 语言实现中,扩展类加载器和应用类加载器都是URLClassLoader 类的实例。从ClassLoader的类图也可以看出这一点。如果需要实现自定义的ClassLoader 可以参考ExtClassLoader 和AppClassLoader 继承URLClassLoader 实现。

9.1.1 类加载器的层次结构

除了引导类加载器,其他类加载器都有一个父类加载器。

只有在父类加载器加载失败时,子类加载器才会加载给定类。

你可能感兴趣的:(Java 安全)