Java 7和8中方法的最大大小
我知道Java的方法不能大于64
KB。该限制导致我们从JavaCC语法生成的代码出现问题。我们在使用Java
6时遇到了问题,并且能够通过更改语法来解决此问题。是否已针对Java 7更改了限制,或者已针对Java 8计划了限制?
为了清楚起见。我不需要一个大于64 KB的方法。但是我写了一个可以编译成很大方法的语法。
回答:
根据JVMS7:
end_pc是排他性的事实是Java虚拟机设计中的一个历史错误:如果某个方法的Java虚拟机代码正好是65535字节长,并且以一条1字节长的指令结尾,那么该指令就不能受到保护。由异常处理程序。编译器编写者可以通过将任何方法,实例初始化方法或静态初始化程序(任何代码数组的大小)的已生成Java虚拟机代码的最大大小限制为65534字节来解决此错误。
但这是关于Java 7
。 Java 8没有最终规格,因此没有人(除其开发人员以外)可以回答这个问题。
根据JVM8,它也适用Java
8。
以上是 Java 7和8中方法的最大大小 的全部内容, 来源链接: utcz.com/qa/399946.html