这是由于java编译器输出的并不是可执行代码,而是字节代码(bytecode),java的运行系统就是java虚拟机,每个java程序的运行都是在java虚拟机的控制之下.java虚拟机可以包含这个程序并且阻止它在系统外产生副作用.通过java语言中的适当限制增强了安全性.
java的安全性体现在两个方面:
①.、语言层次的安全性主要体现在:
Java取消了强大但又危险的指针,而代之以引用.由于指针可进行移动运算,指针可随便指向一个内存区域,而不管这个区域是否可用,这样做是危险的,因为原来这个内存地址可能存储着重要数据或者是其他程序运行所占用的,并且使用指针也容易数组越界.
垃圾回收机制:不需要程序员直接控制内存回收,由垃圾回收器在后台自动回收不再使用的内存.避免程序忘记及时回收,导致内存泄露.避免程序错误回收程序核心类库的内存,导致系统崩溃.
异常处理机制:Java异常机制主要依赖于try、catch、finally、throw、throws五个关键字.
强制类型转换:只有在满足强制转换规则的情况下才能强转成功.
底层的安全性可以从以下方面来说明
Java在字节码的传输过程中使用了公开密钥加密机制(PKC).
字节码校验器 -类装载器 -运行时内存布局 -文件访问限制
Ⅰ:字节码校验器加载查询执行需要的所有类.
Ⅱ:运行时解释器执行代码.
Ⅲ:在运行时,字节码被加载,验证后在解释器里面运行.
Ⅳ:类加载器通过分离本机文件系统的类和从网络导入的类增加安全性.
A.Ⅱ、Ⅲ
B.Ⅱ、Ⅲ、Ⅳ
C.Ⅰ、Ⅲ、Ⅳ
D.Ⅲ、Ⅳ
正确答案:B
Java适用与网络/分布式环境,所以呢在安全方面投入了很大精力.使用Java可以构建防毒、防篡改的系统.
最初的Java就包括:
禁止运行时堆栈溢出.(例如蠕虫等病毒常用的袭击手段);
禁止在自己的处理空间之外破坏内存;
未经授权禁止读写文件.
但是即使这样,还是要说一句"安全不是绝对的".
以上就是土嘎嘎小编为大家整理的java代码安全性说明相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!