O Vert.x core é um toolkit de baixo nível para criar aplicações reativas baseadas em event loop na JVM, com suporte a HTTP, TCP e acesso ao sistema de arquivos.
aeron-io/agrona
Biblioteca Java de estruturas de dados e utilitários de alto desempenho, como coleções de tipos primitivos, buffers off-heap, filas e rodas de temporizadores.
- Estrelas
- 3,266
- Forks
- 459
- Issues abertas
- 8
- Último commit
- anteontem
O que é?
Agrona é uma biblioteca Java de estruturas de dados e métodos utilitários para criar aplicações de alto desempenho. Ela é usada pelo transporte de mensagens Aeron e fornece as implementações de buffer das quais depende o codec de mensagens Simple Binary Encoding.
A biblioteca se concentra em evitar o boxing de objetos e a sobrecarga do garbage collector. Ela inclui listas, mapas e conjuntos de tipos primitivos int e long que usam endereçamento aberto, um cache associativo por conjuntos e filas lock-free. Os buffers podem encapsular memória on-heap ou off-heap com semânticas de ordenação de memória, e os buffers circulares e de broadcast são implementados off-heap para comunicação IPC.
Outros utilitários incluem abstrações de relógio que permitem cache e testes, uma roda de temporizadores escalável com registro e cancelamento O(1), um framework simples de agentes para serviços concorrentes, contadores off-heap, um log de erros distinto e um gerador de IDs no estilo Snowflake. O projeto é compilado com Gradle e tem como alvo Java 17 ou posterior.
Recursos principais
- 01Listas, mapas e conjuntos de tipos primitivos int e long que evitam boxing
- 02Buffers que encapsulam memória on-heap e off-heap com semânticas de ordenação de memória
- 03Filas lock-free e buffers circulares e de broadcast off-heap para IPC
- 04Roda de temporizadores escalável com registro e cancelamento O(1)
- 05Contadores off-heap e um log de erros distinto
- 06Gerador concorrente de IDs únicos no estilo Snowflake
Casos de uso
- Criar sistemas Java de mensagens ou trading de baixa latência que precisam limitar as pausas do garbage collector
- Substituir coleções de java.util em caminhos críticos que armazenam chaves de tipos primitivos
- Compartilhar dados entre processos por meio de buffers circulares ou de broadcast off-heap
- Agendar grandes quantidades de temporizadores com uma roda de temporizadores
Início rápido
- 1
Instale a versão mais recente do Maven Central como dependência (consulte o link do Maven Central no README).
- 2
Compile o projeto a partir do código-fonte com Gradle.
./gradlew
Antes de usar
- Requer Java 17 ou versão mais recente para compilar e usar.
- Oferece utilitários de baixo nível para código de alto desempenho, por isso é voltado a usos especializados, e não ao desenvolvimento geral de aplicações.
Em coleções
Tópicos
Perguntas frequentes
- O que é agrona?
- Biblioteca Java de estruturas de dados e utilitários de alto desempenho, como coleções de tipos primitivos, buffers off-heap, filas e rodas de temporizadores. Agrona é uma biblioteca Java de estruturas de dados e métodos utilitários para criar aplicações de alto desempenho. Ela é usada pelo transporte de mensagens Aeron e fornece as implementações de buffer das quais depende o codec de mensagens Simple Binary Encoding.
- agrona é gratuito? Qual é a licença?
- agrona é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- agrona ainda é mantido?
- Manutenção ativa. O último commit de agrona foi em 6 de nov. de 2026.
- Para que posso usar agrona?
- Criar sistemas Java de mensagens ou trading de baixa latência que precisam limitar as pausas do garbage collector Substituir coleções de java.util em caminhos críticos que armazenam chaves de tipos primitivos Compartilhar dados entre processos por meio de buffers circulares ou de broadcast off-heap Agendar grandes quantidades de temporizadores com uma roda de temporizadores
- Como instalar agrona?
- Instale a versão mais recente do Maven Central como dependência (consulte o link do Maven Central no README). Compile o projeto a partir do código-fonte com Gradle.: ./gradlew
- Onde consigo agrona?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/aeron-io/agrona
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Filas ring buffer lock-free de C++14, em header-only, para troca de mensagens entre threads com latência mínima entre push e pop.
Biblioteca C para hashing não criptográfico extremamente rápido, com hashes de 32, 64 e 128 bits idênticos em diferentes plataformas.
Uma crate Rust com ferramentas de concorrência: filas lock-free, deques com roubo de trabalho, canais, GC baseado em epochs, atomics e threads com escopo.
Biblioteca C++20 open source do Facebook com componentes essenciais que complementam Boost e std e são amplamente usados na Meta.
Cache em memória rápido e concorrente para Go, com remoção de entradas e baixo impacto no GC, mesmo ao armazenar um grande volume de itens no heap.