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 源代码,其中包括驱动程序代码和一些自定义环境的定义。