Java 一个类是自动生成的,它没有被编译,编译错误是;“代码太大”;

Java 一个类是自动生成的,它没有被编译,编译错误是;“代码太大”;,java,jvm,Java,Jvm,一个包含2500个静态字段或实例变量以及getter、setter和一些代码的类。代码行总数超过20000行,这个类是自动生成的,它没有被编译,编译错误是“代码太大”,如何修复它,java文件中的最大代码行是多少 限制与代码的总行数无关,而是与方法的大小有关-一个方法最多只能有64KB字节码。请注意,所有静态初始值设定项(包括变量的默认值)都编译为单个方法 如果问题出在静态初始值设定项中,那么将一些代码从它移入方法中(这样,整个字节码就被分成多个方法,每个方法都足够小,可以编译)。如果普通方法中

一个包含2500个静态字段或实例变量以及getter、setter和一些代码的类。代码行总数超过20000行,这个类是自动生成的,它没有被编译,编译错误是“代码太大”,如何修复它,java文件中的最大代码行是多少

限制与代码的总行数无关,而是与方法的大小有关-一个方法最多只能有64KB字节码。请注意,所有静态初始值设定项(包括变量的默认值)都编译为单个方法


如果问题出在静态初始值设定项中,那么将一些代码从它移入方法中(这样,整个字节码就被分成多个方法,每个方法都足够小,可以编译)。如果普通方法中的问题太大,请将代码分成多个方法。这很可能涉及修改代码生成器,因此希望您能够做到这一点(如果它是一些常用的工具,那么如果您指定了您使用的工具,以便建议可以针对该工具)。

初始化所有静态字段的静态块是一种限制为64K代码的方法。解决方案是不要在一个类中放置这么多静态字段。如果必须的话,你可以使用多个接口。不知道为什么投票结果为+1