1 官方解释
Java SE 平台基于一个动态、可扩展、基于标准、可互操作的安全架构。加密、身份验证和授权、公共密钥基础架构等安全特性是内置的。Java 安全模型基于一个可定制的“沙盒”,Java 软件程序可在其中安全运行,对系统或用户无潜在风险,Java 安全性技术包括大量 API、工具以及常用安全算法、机制和协议的实现。Java 安全 API 涉及领域广泛,包括加密、公共密钥基础架构、安全通信、身份验证和访问控制。Java 安全性技术为开发人员编写应用提供了一个全面的安全框架,同时为用户或管理员安全管理应用提供了一组工具。
2 普遍认识
语言层次的安全性主要体现在:
Java取消了强大但又危险的指针,而代之以引用。由于指针可进行移动运算,指针可随便指向一个内存区域,而不管这个区域是否可用,这样做是危险的,因为原来这个内存地址可能存储着重要数据或者是其他程序运行所占用的,并且使用指针也容易数组越界。
2.1 异常处理机制:
Java异常机制主要依赖于try、catch、finally、throw、throws五个关键字。
2.2 垃圾回收机制:
不需要程序员直接控制内存回收,由垃圾回收器在后台自动回收不再使用的内存。避免程序忘记及时回收,导致内存泄露。避免程序错误回收程序核心类库的内存,导致系统崩溃。
2.3 强制类型转换:
只有在满足强制转换规则的情况下才能强转成功。
2.4 底层的安全性可以从以下方面来说明:
Java在字节码的传输过程中使用了公开密钥加密机制(PKC)。
2.5 在运行环境提供了四级安全性保障机制:
字节码校验器 -类装载器 -运行时内存布局 -文件访问限制