Vert.x core es un toolkit de bajo nivel para crear aplicaciones reactivas basadas en event loop en la JVM, con acceso a HTTP, TCP y al sistema de archivos.
aeron-io/agrona
Biblioteca Java de estructuras de datos y utilidades de alto rendimiento, como colecciones de tipos primitivos, buffers off-heap, colas y ruedas de temporizadores.
- Estrellas
- 3,266
- Forks
- 459
- Issues abiertos
- 8
- Último commit
- anteayer
¿Qué es?
Agrona es una biblioteca Java de estructuras de datos y métodos utilitarios para crear aplicaciones de alto rendimiento. La utiliza el transporte de mensajes Aeron y proporciona las implementaciones de buffers de las que depende el códec de mensajes Simple Binary Encoding.
La biblioteca se centra en evitar el boxing de objetos y la sobrecarga del garbage collector. Incluye listas, mapas y conjuntos de tipos primitivos int y long que usan direccionamiento abierto, una caché asociativa por conjuntos y colas lock-free. Los buffers pueden envolver memoria on-heap u off-heap con semántica de ordenamiento de memoria, y los buffers de anillo y de difusión se implementan off-heap para la comunicación IPC.
Otras utilidades incluyen abstracciones de reloj que permiten el almacenamiento en caché y las pruebas, una rueda de temporizadores escalable con registro y cancelación O(1), un framework sencillo de agentes para servicios concurrentes, contadores off-heap, un registro de errores independiente y un generador de IDs al estilo Snowflake. El proyecto se compila con Gradle y está dirigido a Java 17 y versiones posteriores.
Funciones clave
- 01Listas, mapas y conjuntos de tipos primitivos int y long que evitan el boxing
- 02Buffers que envuelven memoria on-heap y off-heap con semántica de ordenamiento de memoria
- 03Colas lock-free y buffers de anillo y de difusión off-heap para IPC
- 04Rueda de temporizadores escalable con registro y cancelación O(1)
- 05Contadores off-heap y un registro de errores independiente
- 06Generador concurrente de IDs únicos al estilo Snowflake
Casos de uso
- Crear sistemas de mensajería o trading Java de baja latencia que deban limitar las pausas del garbage collector
- Sustituir las colecciones de java.util en rutas críticas que almacenan claves de tipos primitivos
- Compartir datos entre procesos mediante buffers de anillo o de difusión off-heap
- Programar grandes cantidades de temporizadores con una rueda de temporizadores
Inicio rápido
- 1
Instala la versión más reciente desde Maven Central como dependencia (consulta el enlace a Maven Central en el README).
- 2
Compila el proyecto desde el código fuente con Gradle.
./gradlew
Antes de usarlo
- Requiere Java 17 o una versión posterior para compilarlo y usarlo.
- Ofrece utilidades de bajo nivel para código de alto rendimiento, por lo que está pensado para usos especializados y no para el desarrollo general de aplicaciones.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es agrona?
- Biblioteca Java de estructuras de datos y utilidades de alto rendimiento, como colecciones de tipos primitivos, buffers off-heap, colas y ruedas de temporizadores. Agrona es una biblioteca Java de estructuras de datos y métodos utilitarios para crear aplicaciones de alto rendimiento. La utiliza el transporte de mensajes Aeron y proporciona las implementaciones de buffers de las que depende el códec de mensajes Simple Binary Encoding.
- ¿agrona es gratuito? ¿Qué licencia tiene?
- agrona es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿agrona sigue mantenido?
- Mantenimiento activo. El último commit de agrona fue el 6 nov 2026.
- ¿Para qué puedo usar agrona?
- Crear sistemas de mensajería o trading Java de baja latencia que deban limitar las pausas del garbage collector Sustituir las colecciones de java.util en rutas críticas que almacenan claves de tipos primitivos Compartir datos entre procesos mediante buffers de anillo o de difusión off-heap Programar grandes cantidades de temporizadores con una rueda de temporizadores
- ¿Cómo se instala agrona?
- Instala la versión más reciente desde Maven Central como dependencia (consulta el enlace a Maven Central en el README). Compila el proyecto desde el código fuente con Gradle.: ./gradlew
- ¿Dónde consigo agrona?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/aeron-io/agrona
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Colas lock-free de búfer circular, solo de cabeceras y compatibles con C++14, para pasar mensajes entre hilos con una latencia mínima entre inserción y extracción.
Biblioteca C de hashing no criptográfico de alta velocidad, con hashes idénticos de 32, 64 y 128 bits en distintas plataformas.
Un crate de Rust con herramientas de concurrencia: colas lock-free, deques con robo de trabajo, canales, GC basado en épocas, atomics e hilos con ámbito.
Biblioteca open source de Facebook con componentes esenciales en C++20, complementaria a Boost y std, utilizada ampliamente dentro de Meta.
Caché en memoria rápida, concurrente y con expulsión para Go, que almacena muchísimas entradas en el heap con poca carga para el GC.