fastutil étend le Java Collections Framework en fournissant des cartes, des ensembles, des listes et des files d'attente spécifiques à un type avec une faible empreinte mémoire et un accès et une insertion rapides ; il fournit également de grands tableaux, ensembles et listes (64 bits), des algorithmes de tri, des classes d'E/S rapides et pratiques pour les fichiers binaires et texte, et des fonctionnalités de mappage de mémoire pour les fichiers volumineux.
Depuis la version 8.5.5, fastutil est divisé en deux fichiers jar pour plus de commodité :
fastutil-core.jar
contient des structures de données basées sur des entiers, des longs, des doubles et des objets ;
fastutil.jar
est la distribution classique, contenant toutes les classes.
Notez que les classes principales sont dupliquées dans le fichier jar standard, donc si vous dépendez des deux (par exemple, en raison de dépendances transitives), vous devez exclure le fichier principal.
Les versions fractionnées précédentes fourniraient différentes classes dans différents fichiers jar, mais gérer judicieusement les dépendances s'est avéré impossible.
Vous pouvez également créer un petit pot fastutil personnalisé (que vous pouvez mettre dans votre dépôt, votre dépôt maven local, etc.) à l'aide du script shell find-deps.sh
. Il a des prérequis légers, car seul l'outil jdeps
est requis (fourni avec JDK 8). Il peut être utilisé pour identifier toutes les classes fastutil utilisées par votre projet et créer un fichier jar réduit contenant uniquement les classes nécessaires.
Tout d’abord, vous devez make sources
pour obtenir les sources Java réelles. Après cela, ant jar
générera un seul fichier jar ; ant javadoc
générera la documentation de l'API ; ant junit
exécutera les tests unitaires.
Si vous souhaitez obtenir les trois jars ci-dessus, vous devez exécuter le script split.sh
, puis ant osgi-rest
.
Les sources Java sont générées à l'aide d'un préprocesseur C. Le script gencsource.sh
lit un fichier de pilote, c'est-à-dire une source Java qui utilise des symboles définis par le préprocesseur et une compilation conditionnelle, et produit une (fausse) source C, qui inclut le code du pilote et certaines définitions qui personnalisent l'environnement. .