java文件的大小是否有限制?

use*_*900 1 java file-io filesize

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

public class foo{
    public static void main(String[] args){
        //
        //7000 lines later
        //
    }
}
Run Code Online (Sandbox Code Playgroud)

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

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

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

我想知道在多种方法中"缓冲"指令是否能解决我的问题.对java文件的大小有什么限制吗?

Pet*_*rey 9

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

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

  • 使用较小的方法,这么大的方法是不可读的.
  • 如果它生成代码,则创建多个方法.
  • 将信息外部化为数据文件或数据库.