只是單純的想記錄一下,你可能做程序員一輩子都無法遇到的一個問題!!! 哈哈哈
一、問題的描述
這個問題是昨天在做導出的時候遇到的,本來是在一個方法中,寫一下導出的業務代碼,我也按照其他的導出一樣,繼續在后面進行代碼的編寫,寫了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中是同樣的報錯信息,具體如圖:
三、終結解決方案
無奈,真的是這個方法過長導致的,只能優化一下代碼,把這個方法簡短一點,是誰寫出這樣的代碼來,不想活了吧,哈哈哈,還是好好學一下設計模式相關的,寫出的代碼優雅一點!