Java安全性

来源:互联网 发布:怎样玩游戏挣钱知乎 编辑:程序博客网 时间:2024/04/29 20:12

Java安全性

Java为什么安全?
现今互联网环境中存在各种各种潜在的威胁,所以对于计算机来说,安全特别重要,尤其是当从网络中下载程序并在本地执行的时候;举个例子,Java applets,当通过浏览器访问嵌有这种小java应用的网页时,它的字节码文件会自动下载到你的计算机,此时,用户很可能遭遇的是来自非可信任源的小程序。如果没有安全机制,这很可能会成为病毒的传播的一条便利的途径。
由于java在网络中移动式代码上建立一种必要的信任,因此,java的安全机制使java本身更加适合于网络应用。

Java的安全模型专注于使用户免受通过网络下载的来自非可信任源的恶意程序的破坏。为了达到这个目的,Java提供了一种可定制的"沙箱"(sandbox),java程序就在这个沙箱中运行。Java程序必须在沙箱的内部运行,即在沙箱的边界之内,java程序可以做任何的事情,但在沙箱的边界之外,Java程序什么也不能做。例如,这种沙箱可以限制非可信任的java applet和阻止很多其他的不可靠动作。包括:


1、读写本地磁盘
2、通过网络连接到任何主机,尤其是程序来源处的主机。
3、加载新的动态链接库并且直接调用本地方法。

通过让下载代码的执行某些特定的动作成为不可能的事,java安全模型使用户免受恶意代码的威胁

 

以上转自http://blog.csdn.net/saygoodbyetoyou/article/details/6083376

 

以下转自http://www.blogjava.net/coffee/articles/504.html

java的安全在语言级上提供了很好的安全措施,主要是:

1、严格遵循面向对象的规范。这样封装了数据细节,只提供接口给用户。增加了数据级的安全性。

2、无指针运算。java中的操作,除了基本类型都是引用的操作。引用是不能进行增减运算,不能被直接赋予内存地址的,从而增加了内存级的安全性。

3、数组边界检查。这样就不会出现C/C++中的缓存溢出等安全漏洞。

4、强制类型转换。非同类型的对象之间不能进行转换,否则会抛出ClassCastException

5、语言对线程安全的支持。java从语言级支持线程。从而从语法和语言本身做了很多对线程的控制和支持。

此外,java的安全还通过编译器、检验器、类装载器、建立安全策略等方式保证了java程序的安全性。