Kas*_*ska 4 java verification byte bytecode compilation
根据我对本文迄今为止的理解,作者写的主要目的是检查是否有人更改了字节码.因为"编译器为Java编程语言生成的类文件总是通过验证".这是我们有一个字节码验证器,以防止其他人恶意更改我们的字节码的唯一原因吗?
编译器为 Java 编程语言生成的类文件总是通过验证
在那种形式下,该陈述是不正确的。当然,编译器是软件,软件可能有错误。因此,不能保证编译器为 Java 编程语言生成的类文件总是正确的。
此外,一个类的正确性取决于它与之交互的其他类。这些类自编译以来不得以不兼容的方式更改,因此如果您用于编译的环境与您尝试执行代码的环境不同,这些不匹配可能会导致代码被验证器拒绝,即使如果编译器做对了一切。
这已经向您指出了一个问题,即除了故意的恶意修改之外,还可能存在无意中错误引入的代码不兼容问题。验证器还可以防止此类情况发生,我想,这种情况发生的频率远高于真正的故意攻击。
| 归档时间: |
|
| 查看次数: |
248 次 |
| 最近记录: |