java虚拟主机有关的3项安全性保证

2017-05-02 10:18:48129

作为适用于网络编程的语言,安全性是必须要保证的。java虚拟机在java的安全体系中占有重要地位。至少有以下的3项安全性保证是和java虚拟主机有关的。    作为适用于网络编程的语言,安全性是必须要保证的。java虚拟机在java的安全体系中占有重要地位。至少有以下的3项安全性保证是和java虚拟主机有关的。

   1、内存的布局。我们已经介绍过没在任何java程序的字节码表示中,变量和方法的引用都是使用符号,而不是使用具体的数字。用数字引用替代符号引用在运行时由解释器完成。对于网站建设变成人员来说,内存分配是透明的,不可能在编写程序的时候就知道内存的布局。编程人员无法通过伪造指针访问任何的内存空间。

   2、字节码的检验。虽然java编译器保证源代码不违反安全规范,但是当从其他地方下载java字节码时,并不能认为它是安全的。因为有可能是生成这些字节码的编译器本身有安全性的问题,也有可能是有人故意制作了一个java编译器,以侵入其他用户的系统。所以必须对字节码进行检验。字节码的一个重要特性是它的可解析性很强,能够对指定集进行分析,并对其以后的行为作出一定的推断,这就为检验打下了基础。通过检验的程序,可以确保不存在伪造的指针、不违反访问权限、不非法访问对象、不会导致操作数栈溢出等等。

   3、字节码装载器的安全检查。因为字节码采用符号引用,内存布局在运行时确定,所以在字节码装入时将本地的类和外来的类严格区别开。本地的类共有一个统一的名字空间,外来的类每个网络节点一个名字空间,外来的类不能以任何方式对本地的类进行操作。这种机制为本地的类建立起一道安全屏障。