開源的高性能Java集合:GNU Trove
Trove 是一種開放源代碼的 Java 集合包,提供了核心 Java 集合類的高效替代品,特別針對于實現其鍵或值是基本類型的集合。
從 Trove 中得到什么呢?許許多多的高效集合。除了那 81 種不同的 HashMap
版本之外(比如 TIntIntHashMap
、 TIntObjectHashMap
等),還有 List
和 Set
類可以存儲基本類型(如 TIntHashSet
、 TFloatArrayList
等)。這種體系結構甚至允許您插入自己的散列策略,以便選擇對您的數據集而言可能更有效(或者更靈活)的算法。當然,支持靈活的散列算法也要付出性能代價 —— 如果散列映射成為瓶頸,很可能是因為大量地使用它,這意味著散列函數被反復不斷地調用。因此,散列函數中每一點多余的開銷都可能成為瓶頸。(順便說一下,如果散列函數足夠簡單,JIT 編譯器就可能將其編譯成內聯函數,這樣在支持靈活的散列策略的同時又不會帶來額外的開銷)
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!