加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java和类型安全

发布时间:2020-12-15 08:43:57 所属栏目:Java 来源:网络整理
导读:在进行 Java和 JavaScript之间的比较时,MDN JavaScript指南说明了以下内容: Type safety means,for instance,that you can’t cast a Java integer into an object reference or access private memory by corrupting Java bytecodes. 当然,关于上述陈述的
在进行 Java和 JavaScript之间的比较时,MDN JavaScript指南说明了以下内容:

Type safety means,for instance,that you can’t cast a Java integer into an object reference or access private memory by corrupting Java bytecodes.

当然,关于上述陈述的第一部分,当谈到键入类型安全的一般概念时,围绕语言提供某种检查的能力,这种检查消除了与不兼容类型执行的操作可能存在的错误条件(即使上面的例子是天真地考虑到在Java中你可以将原始int封装到引用类型Integer).

但是,声明的第二部分究竟是什么意思呢?

Here讨论了JVM的验证器,确保了一定程度的内存保护 – “仲裁位模式不能用作地址”.

MDN声明的第二部分如何与类型安全相关?

解决方法

这意味着在Java中,(原则上)无法绕过如何识别类型.在javascript中,可以根据表示一段数据的字节序列来推断类型.在Java中,VM可以防止出现这种情况,以确保作为Foo对象的字节序列不能被视为Bar对象.

关于访问私有成员,这意味着你不能使一系列字节意味着与程序员意图不同的东西,以获得对非预期内容的访问.在运行时,您不能将具有私有成员foobar的Foo类型的对象foo更改为类型为Bar的对象,具有相同的成员,但foobar已公开.每个对象的类型都以字节代码进行编码,该字节代码由VM在运行时控制.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读