记录一次好玩的错误-Java代码过长(java:[255,21] code too large)
只是单纯的想记录一下,你可能做程序员一辈子都无法遇到的一个问题!!! 哈哈哈
一、问题的描述
这个问题是昨天在做导出的时候遇到的,本来是在一个方法中,写一下导出的业务代码,我也按照其他的导出一样,继续在后面进行代码的编写,写了3、4个小时之后,终于写完了,一身轻松,准备启动项目进行一番测试,但是奇怪的事情发生了,不仅项目没有启动起来,连编译都没通过,哈哈,很尴尬的样子,具体idea中的控制台描述的问题的文字是这样子的:
这是什么鬼报错信息???
二、寻找问题的原因
直接百度一顿操作,暂时确定了两种原因:(谢谢百度and知乎)
1、一个方法编译后的字节码不能超过64KB大小(jdk规定的)
具体详情,请看万能的知乎:
https://www.zhihu.com/question/396024065
2、idea 本身的限制
是否可以改一下idea本身的配置文件,是这个原因吗?我试了一下,并没有什么用啊!
具体方法如下:
https://zhidao.baidu.com/question/493644378928628092.html
3、一顿乱拳
虽然我 看了一下这个方法的确很长很长,但是我本身是不太相信一个方法真的是可以写到编译之后64k的大小,我呆着怀疑的态度提交了代码,想着在测试环境试一下,到底能不能编译打包成功,然而结果是跟idea中是同样的报错信息,具体如图:
三、终结解决方案
无奈,真的是这个方法过长导致的,只能优化一下代码,把这个方法简短一点,是谁写出这样的代码来,不想活了吧,哈哈哈,还是好好学一下设计模式相关的,写出的代码优雅一点!