3

这个答案说验证用于确保 Java 字节码“遵循 Java 语言安全规则”。

如果不执行此验证,将允许运行不安全的字节码。这会导致什么问题?

是否存在可以接受禁用字节码验证的情况?

4

2 回答 2

2

字节码验证确保代码不能做诸如将 int 重新解释为指针和进行任意内存访问之类的事情。如果您尝试在 Java 沙箱中运行不受信任的代码,这将非常有用。

如果您完全信任您正在运行的所有代码,那么它的用处就会降低,因为在这种情况下它只会捕获意外的错误。验证信息也有可能被输入优化器 - 我不确定这一点,但优化器本质上必须验证代码才能进行任何有用的静态分析。

于 2017-07-07T20:53:29.023 回答
0

强烈建议不要在生产环境中使用“-Xverify:none”选项,因为它会禁用字节码验证并导致随机崩溃。请在此处查看详细博客

于 2017-07-09T10:51:19.133 回答