Agrona
Agrona proporciona una biblioteca de estructuras de datos y métodos de utilidad que son una necesidad común al crear aplicaciones de alto rendimiento en Java. Muchas de estas utilidades se utilizan en el transporte de mensajes IPC, multidifusión y unidifusión UDP confiable y eficiente de Aeron y proporcionan implementaciones de búfer de alto rendimiento para admitir el códec de mensajes de codificación binaria simple.
Para obtener la información y los cambios más recientes, consulte el Registro de cambios.
La última versión y las descargas se pueden encontrar en Maven Central.
Los servicios públicos incluyen:
- Búfers: búferes atómicos y directos seguros para subprocesos para trabajar con memoria dinámica dentro y fuera del montón con semántica de ordenación de memoria.
- Listas: listas respaldadas por matrices de primitivas int/long para evitar el boxeo.
- Mapas: direccionamiento abierto y sondeo lineal con claves primitivas int/long para valores de referencia de objetos.
- Mapas: direccionamiento abierto y sondeo lineal con claves primitivas int/long para valores int/long.
- Conjuntos: direccionamiento abierto y sondeo lineal para primitivas int/long y referencias de objetos.
- Caché: establezca asociativo con claves primitivas int/long para valores de referencia de objetos.
- Relojes: implementaciones de relojes para abstraer los relojes del sistema, permitir el almacenamiento en caché y habilitar las pruebas.
- Colas: implementaciones sin bloqueo para aplicaciones de baja latencia.
- Búfers de anillo/difusión: implementados fuera del montón para comunicación IPC.
- Marco de agente simple para servicios concurrentes.
- Manejo de señales para admitir "Ctrl + c" en una aplicación de servidor.
- Rueda de temporizador escalable: para programar temporizadores en una fecha límite determinada con tiempo de registro y cancelación O(1).
- Generación de código a partir de implementaciones anotadas especializadas para tipos primitivos.
- Implementación de contadores fuera del montón para telemetría de aplicaciones, seguimiento de posición y coordinación.
- Implementaciones de InputStream y OutputStream que pueden envolver buffers directos.
- DistinctErrorLog: un registro de errores distintos para evitar llenar los discos con enfoques de registro existentes.
- IdGenerator: generador de identificación único concurrente y distribuido que emplea una implementación sin bloqueo del algoritmo Twitter Snowflake.
Construir
Construcción de Java
Construya el proyecto con Gradle usando este archivo build.gradle.
Necesita lo siguiente para construir Agrona:
- La última versión de Java 17. Agrona se prueba con Java 17 y 21.
Limpieza y construcción completa:
Licencia (Consulte el archivo LICENCIA para obtener la licencia completa)
Copyright 2014-2024 Real Logic Limited.
Licenciado bajo la Licencia Apache, Versión 2.0 (la "Licencia"); no puede utilizar este archivo excepto de conformidad con la Licencia. Puede obtener una copia de la Licencia en
https://www.apache.org/licenses/LICENSE-2.0
A menos que lo exija la ley aplicable o se acuerde por escrito, el software distribuido bajo la Licencia se distribuye "TAL CUAL", SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ya sean expresas o implícitas. Consulte la Licencia para conocer el idioma específico que rige los permisos y limitaciones de la Licencia.