首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java中的“代码太大”编译错误

Java中的“代码太大”编译错误
EN

Stack Overflow用户
提问于 2010-03-09 17:33:17
回答 14查看 80.6K关注 0票数 100

Java中的代码有最大长度限制吗?我写了一个超过10,000行的函数。实际上,每一行都为一个数组变量赋值。

代码语言:javascript
运行
复制
arts_bag[10792]="newyorkartworld";
arts_bag[10793]="leningradschool";
arts_bag[10794]="mailart";
arts_bag[10795]="artspan";
arts_bag[10796]="watercolor";
arts_bag[10797]="sculptures";
arts_bag[10798]="stonesculpture"; 

在编译时,我得到这样的错误:代码太大

我该如何克服这个问题?

EN

回答 14

Stack Overflow用户

回答已采纳

发布于 2010-03-09 17:35:50

类中的单个方法最多只能有64KB的字节码。

但是你应该把它清理干净!

使用.properties文件存储此数据,并通过java.util.Properties加载它

您可以通过将.properties文件放在类路径中来完成此操作,并使用:

代码语言:javascript
运行
复制
Properties properties = new Properties();
InputStream inputStream = getClass().getResourceAsStream("yourfile.properties");
properties.load(inputStream);
票数 98
EN

Stack Overflow用户

发布于 2010-03-09 17:36:33

method上有64K字节码大小限制

话虽如此,我不得不同意Richard的观点;为什么你需要这么大的方法?给定OP中的示例,一个属性文件应该足够...如果需要的话,甚至是一个数据库。

票数 19
EN

Stack Overflow用户

发布于 2010-03-09 17:48:00

根据Java Virtual Machine specification的说法,the code of a method must not be bigger than 65536 bytes

code_length项的值给出了此方法的code数组中的字节数。

code_length的值必须大于零(因为代码数组不能为空)且小于65536。

code_length定义code[]属性的大小,该属性包含方法的实际字节码:

code数组给出了实现该方法的

虚拟机代码的实际字节数。

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2407912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档