为什么虚拟机检查字段类型?

时间:2015-08-24 13:50:59

标签: java

例如,采用 getstatic 字节码操作码。 JVM检查引用字段是否为静态(或者可能是实例?) 这不是多余的步骤吗?因为,编译器确保该字段是静态的。 PS也许,重点是在运行时可以改变字节码。

1 个答案:

答案 0 :(得分:0)

  

这不是多余的一步吗?因为,编译器确保该字段是静态的。

如果有人手动创建字节码(或使用字节码修改库),则不会发生那些编译器检查。这就是我们需要在加载时验证字节码的原因。