Chronicle Map para Java: guia completo com exemplos práticos
Chronicle Map é uma implementação de ConcurrentMap de alto desempenho e off-heap (fora da pilha) para Java, desenvolvida pela Chronicle Software. Diferente de HashMap ou ConcurrentHashMap tradicionais, que armazenam dados no heap da JVM, o Chronicle Map aloca dados diretamente na memória RAM fora do heap gerenciado. Isso elimina a sobrecarga do garbage collector (GC) e garante latência previsível, mesmo ao lidar com grandes volumes de dados (gigabytes ou terabytes).
Esta biblioteca é ideal para cenários que exigem baixa latência, alta taxa de transferência e manipulação de dados sem impactar as pausas do GC. Aplicações típicas incluem: sistemas financeiros (plataformas de negociação), caching, sistemas de tempo real, armazenamento de sessões e qualquer aplicação onde a performance determinística seja crucial. O Chronicle Map suporta acesso concorrente, serialização de chaves e valores, e pode ser configurado para persistência (salvar dados em disco).
Neste artigo, vamos abordar em detalhes a instalação, os métodos principais, apresentar diversos exemplos práticos e dar dicas de performance. Ao final, você estará apto a usar o Chronicle Map com confiança em seus projetos Java.
1. Instalação
O Chronicle Map é distribuído via Maven Central. Para usá-lo no seu projeto, adicione a seguinte dependência no arquivo pom.xml (Maven):
<dependency>
<groupId>net.openhft</groupId>
<artifactId>chronicle-map</artifactId>
<version>3.25ea0</version> <!-- Verifique a versão mais recente no Maven Central -->
</dependency>
Se você usa Gradle, adicione a linha no build.gradle:
implementation 'net.openhft:chronicle-map:3.25ea0'
2. Primeiros passos — exemplo mínimo funcional
Vamos criar um mapa simples que armazena pares "nome de usuário" (String) e "quantidade