Agrona
Agrona menyediakan perpustakaan struktur data dan metode utilitas yang merupakan kebutuhan umum saat membangun aplikasi berkinerja tinggi di Java. Banyak dari utilitas ini digunakan dalam transportasi pesan UDP unicast, multicast, dan IPC Aeron yang efisien dan andal serta menyediakan implementasi buffer kinerja tinggi untuk mendukung Codec Pesan Pengkodean Biner Sederhana.
Untuk informasi versi terbaru dan perubahannya, lihat Log Perubahan.
Rilis dan unduhan terbaru dapat ditemukan di Maven Central.
Utilitas Meliputi:
- Buffer - Buffer langsung dan atomik yang aman untuk bekerja dengan memori tumpukan aktif dan nonaktif dengan semantik pengurutan memori.
- Daftar - Daftar primitif int/long yang didukung array untuk menghindari tinju.
- Peta - Buka pengalamatan dan pemeriksaan linier dengan kunci primitif int/panjang ke nilai referensi objek.
- Maps - Buka pengalamatan dan pemeriksaan linier dengan kunci primitif int/long ke nilai int/long.
- Set - Pengalamatan terbuka dan pemeriksaan linier untuk primitif int/panjang dan referensi objek.
- Cache - Tetapkan Asosiatif dengan kunci primitif int/panjang ke nilai referensi objek.
- Jam - Implementasi jam untuk mengabstraksi jam sistem, mengizinkan caching, dan mengaktifkan pengujian.
- Antrean - Implementasi tanpa kunci untuk aplikasi latensi rendah.
- Ring/Broadcast Buffer - diimplementasikan secara off-heap untuk komunikasi IPC.
- Kerangka kerja Agen sederhana untuk layanan bersamaan.
- Penanganan sinyal untuk mendukung "Ctrl + c" dalam aplikasi server.
- Roda Pengatur Waktu yang Dapat Diskalakan - Untuk menjadwalkan pengatur waktu pada tenggat waktu tertentu dengan register O(1) dan waktu pembatalan.
- Pembuatan kode dari implementasi beranotasi yang dikhususkan untuk tipe primitif.
- Implementasi penghitung off-heap untuk telemetri aplikasi, pelacakan posisi, dan koordinasi.
- Implementasi InputStream dan OutputStream yang dapat membungkus buffer langsung.
- DistinctErrorLog - Log kesalahan yang berbeda untuk menghindari pengisian disk dengan pendekatan logging yang ada.
- IdGenerator - Generator id unik yang serentak dan terdistribusi menggunakan implementasi algoritme Twitter Snowflake tanpa kunci.
Membangun
Pembangunan Jawa
Bangun proyek dengan Gradle menggunakan file build.gradle ini.
Anda memerlukan yang berikut untuk membangun Agrona:
- Rilis terbaru Java 17. Agrona diuji dengan Java 17 dan 21.
Pembersihan penuh dan pembangunan:
Lisensi (Lihat file LISENSI untuk lisensi penuh)
Hak Cipta 2014-2024 Real Logic Limited.
Berlisensi di bawah Lisensi Apache, Versi 2.0 ("Lisensi"); Anda tidak boleh menggunakan file ini kecuali sesuai dengan Lisensi. Anda dapat memperoleh salinan Lisensi di
https://www.apache.org/licenses/LICENSE-2.0
Kecuali diwajibkan oleh undang-undang yang berlaku atau disetujui secara tertulis, perangkat lunak yang didistribusikan berdasarkan Lisensi didistribusikan berdasarkan DASAR "APA ADANYA", TANPA JAMINAN ATAU KETENTUAN DALAM BENTUK APAPUN, baik tersurat maupun tersirat. Lihat Lisensi untuk bahasa tertentu yang mengatur izin dan batasan berdasarkan Lisensi.