JAVA代码如何优化?
黄舟
黄舟 2017-04-17 13:09:25
0
1
340
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回覆(1)
伊谢尔伦

首先,程式碼這種寫法相對來說還是比較清晰的,除了查詢Json資料應該封裝到DAO層去,不是對效能有極端要求,不建議做過多最佳化。
但如果真有必要,提供幾個最佳化想法:

  1. 如果你的BlackList很大,
    1.1 可以預估取出值的數量,在新建的時候可以調整capacity,甚至調整load factor,以免多次開闢記憶體空間;
    1.2 或創建一次就直接進行緩存,用觸發式的更新機制,避免重複創建;
    1.3 用TreeMap取代HashMap,可以稍微提升查詢效能,其實你這個場景完全可以用Set,可以稍微減少記憶體開銷;
    1.4 可以把這個List的Id寫入到redis或memcached中去,這樣就不佔用本應用的記憶體空間。
  2. Json反序列化可以使用表現較高的類別庫,例如Jackson,fastjson
  3. 如果你取得資料的那端可以控制,可以考慮效能更高的序列化方法,例如protobuff。
  4. 查詢結果的List如果數量可以預估,那麼也可以設定初始的capacity。

感覺你自己提的想要1w個對象,卻不想創建1w個對象,這感覺自我矛盾的事情,貌似是沒有任何辦法的。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!