这个答案说验证用于确保Java字节码"遵循Java语言规则以确保安全"。
如果未执行此验证,将允许运行不安全的字节码。这会导致什么问题?
是否存在可以接受禁用字节码验证的情况?
字节码验证确保代码不能执行诸如将 int 重新解释为指针和执行任意内存访问之类的操作。如果您尝试在 Java 沙箱中运行不受信任的代码,这将最有用。
如果您完全信任正在运行的所有代码,那么它的用处就不大了,因为在这种情况下,它只会捕获意外的错误。验证信息也有可能被输入优化器 - 我不确定这一点,但优化器本质上必须验证代码才能进行任何有用的静态分析。
强烈建议不要在生产环境中使用"-Xverify:none"选项,因为它会禁用字节码验证并导致随机崩溃。请在此处查看详细的博客