fastutil 透過提供特定類型的映射、集合、列表和佇列來擴展 Java 集合框架,這些框架、集合、列表和佇列具有較小的記憶體佔用以及快速的存取和插入;它還提供大型(64 位元)數組、集合和列表、排序演算法、用於二進位和文字檔案的快速、實用的 I/O 類,以及用於記憶體映射大型檔案的設施。
從 8.5.5 版本開始,為了方便起見,fastutil 被分成兩個 jar:
fastutil-core.jar
包含基於整數、長整型、雙精確度和物件的資料結構;
fastutil.jar
是經典發行版,包含所有類別。
請注意,核心類別在標準 jar 中是重複的,因此如果您同時依賴這兩個類別(例如,由於傳遞依賴),則應排除核心 jar。
先前的拆分版本會在不同的 jar 中提供不同的類,但管理合理的依賴關係是不可能的。
您也可以使用find-deps.sh
shell 腳本建立一個小型的自訂 fastutil jar(您可以將其放入您的儲存庫、本機 Maven 儲存庫等)。它有輕微的先決條件,因為只需要jdeps
工具(與 JDK 8 捆綁在一起)。它可用於識別項目使用的所有 fastutil 類,並建立一個僅包含必要類的最小化 jar。
首先,您必須make sources
才能取得實際的 Java 原始程式碼。之後ant jar
會產生一個jar檔; ant javadoc
將產生 API 文件; ant junit
將運行單元測試。
如果你想獲得上面的三個jar,你必須執行腳本split.sh
,然後執行ant osgi-rest
。
Java 原始碼是使用 C 預處理器產生的。 gencsource.sh
腳本讀取驅動程式文件,即使用一些預處理器定義的符號和一些條件編譯的 Java 原始程式碼,並產生(假)C 原始程式碼,其中包括驅動程式程式碼和一些自訂環境的定義。