fastutil estende o Java Collections Framework, fornecendo mapas, conjuntos, listas e filas específicos de tipo com um pequeno consumo de memória e acesso e inserção rápidos; ele também fornece grandes arrays, conjuntos e listas (64 bits), algoritmos de classificação, classes de E/S rápidas e práticas para arquivos binários e de texto e recursos para mapeamento de memória de arquivos grandes.
Desde a versão 8.5.5, o fastutil é dividido em dois jars por conveniência:
fastutil-core.jar
contém estruturas de dados baseadas em números inteiros, longos, duplos e objetos;
fastutil.jar
é a distribuição clássica, contendo todas as classes.
Observe que as classes principais são duplicadas no jar padrão, portanto, se você depender de ambos (por exemplo, devido a dependências transitivas), deverá excluir o jar principal.
Versões divididas anteriores forneceriam classes diferentes em jars diferentes, mas gerenciar dependências de maneira sensata acabou sendo impossível.
Você também pode criar um jar fastutil pequeno e personalizado (que pode ser colocado em seu repositório, repositório maven local, etc.) usando o script shell find-deps.sh
. Possui pré-requisitos moderados, pois apenas a ferramenta jdeps
é necessária (incluída no JDK 8). Ele pode ser usado para identificar todas as classes fastutil que seu projeto usa e construir um jar minimizado contendo apenas as classes necessárias.
Primeiro, você precisa make sources
para obter as fontes Java reais. Depois disso, ant jar
irá gerar um único arquivo jar; ant javadoc
irá gerar a documentação da API; ant junit
executará os testes de unidade.
Se você deseja obter os três jars acima, você deve executar o script split.sh
e depois ant osgi-rest
.
As fontes Java são geradas usando um pré-processador C. O script gencsource.sh
lê um arquivo de driver, ou seja, uma fonte Java que usa alguns símbolos definidos pelo pré-processador e alguma compilação condicional, e produz uma fonte C (falsa), que inclui o código do driver e algumas definições que personalizam o ambiente .