1

我正在开发一个需要生成 java 代码的项目。当我在 main 方法上遇到 65535 字节限制的问题时,我正在做一些测试。我生成的文件看起来像这样:

public class foo{
    public static void main(String[] args){
        //
        //7000 lines later
        //
    }
}

我认为通过这种方式生成文件我很聪明:

public class foo{
    public static void bar(){
        //
        //7000 lines later
        //
    }
    public static void main(String[] args){
        bar();
    }
}

但我发现 65535 字节限制适用于每种方法。

我想知道将指令“缓冲”到多种方法中是否可以解决我的问题。java文件的大小有什么限制吗?

4

4 回答 4

9

文件可以是任意大小,但方法不能编译为超过 65535 字节的长度。

解决这个问题的唯一方法是

  • 使用较小的方法,这么大的方法是不可读的。
  • 如果它生成代码,则创建多个方法。
  • 将信息外部化为数据文件或数据库。
于 2012-10-05T15:23:31.223 回答
2
于 2012-10-05T15:26:46.337 回答
1

这是一个已知的错误/功能请求(官方 Java 错误跟踪器)

不过,您应该将其拆分为不同的方法。

于 2012-10-05T15:24:40.577 回答
1

我想这个限制是存在的,你已经达到了——如此所述。

另外,看看这个讨论

于 2012-10-05T15:28:49.813 回答