java代碼長度不能大於65535位元組的解決辦法

來源:互聯網
上載者:User

由於java虛擬機器的限制,在java中變數、方法的代碼長度是不能大於65535位元組的,針對此問題我總結了相關的解決辦法。

1. 資料庫

這是最為傳統的,也是大多數人第一想到到的辦法了。

2. 檔案

這其實是替代資料庫的另一種方法了。

3. 類

將複雜的類細化為多個類。

4. 方法

將複雜的方法細化為多個方法。

其實,介紹這四種方案並不是我本篇想要說的重點,而是要從程式效能的角度來訴述。有時一些相對靜態資料,雖然可以儲存在資料庫或檔案裡,但資料庫和檔案都要涉及到串連、io等效能問題,可能有人會說,我可以將待用資料預先載入(即只擷取一次,然後存入到靜態變數裡),但是資料量較大的資料都存入靜態變數裡,帶來的就是系統對記憶體資源的消耗,在我看來同樣是有取捨的。

而如果放入到類或方法裡,就能很好解決上述問題。java檔案之間的調用,速度的瓶頸已經降低到了JVM層級,無論從速度上還是能耗上都會令你滿意,從讀取速度上,他絕對比讀取資料庫快很多。從能耗上,我們不必再將大量的資料放到靜態變數裡了,什麼時候用什麼時候new即可。

條條大路通羅馬,解決問題總是有著很多方法的,因此不要僅僅局限於“常理”,靈活運用技術才是成長的捷徑。各位以後不放試試將一些資料以類或方法的形式去儲存。

在我即將發布第四版的日期工具類中,就是一個很好的例子。大家可以參考參考,細細品味其中的各種優點(速度、效能、能耗、耦合性等)。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.