Agrona
Agrona fournit une bibliothèque de structures de données et de méthodes utilitaires qui constituent un besoin courant lors de la création d'applications hautes performances en Java. Beaucoup de ces utilitaires sont utilisés dans le transport de messages UDP unicast, multicast et IPC efficace et fiable d'Aeron et fournissent des implémentations de tampon hautes performances pour prendre en charge le codec de message Simple Binary Encoding.
Pour obtenir les dernières informations sur la version et les modifications, consultez le journal des modifications.
La dernière version et les derniers téléchargements sont disponibles sur Maven Central.
Les utilitaires incluent :
- Tampons - Tampons directs et atomiques thread-safe pour travailler avec de la mémoire tas on et off avec une sémantique d'ordre de mémoire.
- Listes - Listes sauvegardées sur un tableau de primitives int/long pour éviter la boxe.
- Cartes - Adressage ouvert et sondage linéaire avec des clés primitives int/longues pour les valeurs de référence d'objet.
- Cartes - Adressage ouvert et sondage linéaire avec des clés primitives int/long vers les valeurs int/long.
- Ensembles - Adressage ouvert et sondage linéaire pour les primitives int/long et les références d'objet.
- Cache - Définissez Associatif avec des clés primitives int/long sur les valeurs de référence d'objet.
- Horloges - Implémentations d'horloge pour abstraire les horloges système, permettre la mise en cache et activer les tests.
- Files d'attente - Implémentations sans verrouillage pour les applications à faible latence.
- Ring/Broadcast Buffers - implémentés hors tas pour la communication IPC.
- Cadre d'agent simple pour les services simultanés.
- Gestion du signal pour prendre en charge "Ctrl + c" dans une application serveur.
- Roue de minuterie évolutive - Pour planifier des minuteries à une date limite donnée avec O(1) enregistrer et annuler l'heure.
- Génération de code à partir d'implémentations annotées spécialisées pour les types primitifs.
- Implémentation de compteurs hors tas pour la télémétrie des applications, le suivi de position et la coordination.
- Implémentations de InputStream et OutputStream qui peuvent encapsuler des tampons directs.
- DistinctErrorLog - Un journal d'erreurs distinctes pour éviter de remplir les disques avec les approches de journalisation existantes.
- IdGenerator - Générateur d'identifiant unique simultané et distribué utilisant une implémentation sans verrouillage de l'algorithme Twitter Snowflake.
Construire
Construction Java
Construisez le projet avec Gradle en utilisant ce fichier build.gradle.
Vous avez besoin des éléments suivants pour construire Agrona :
- La dernière version de Java 17. Agrona est testé avec Java 17 et 21.
Nettoyage et construction complets :
Licence (Voir le fichier LICENSE pour la licence complète)
Copyright 2014-2024 Real Logic Limitée.
Sous licence Apache, version 2.0 (la « Licence » ); vous ne pouvez pas utiliser ce fichier sauf en conformité avec la licence. Vous pouvez obtenir une copie de la licence à
https://www.apache.org/licenses/LICENSE-2.0
Sauf disposition contraire de la loi applicable ou accord écrit, le logiciel distribué sous la licence est distribué « TEL QUEL », SANS GARANTIE OU CONDITION D'AUCUNE SORTE, expresse ou implicite. Consultez la licence pour connaître la langue spécifique régissant les autorisations et les limitations en vertu de la licence.