อโกรนา
Agrona จัดเตรียมไลบรารีของโครงสร้างข้อมูลและวิธีการอรรถประโยชน์ซึ่งเป็นความต้องการทั่วไปในการสร้างแอปพลิเคชันประสิทธิภาพสูงใน Java ยูทิลิตี้เหล่านี้จำนวนมากถูกนำมาใช้ในการส่งข้อความ UDP unicast, multicast และ IPC ที่เชื่อถือได้และมีประสิทธิภาพของ Aeron และให้การใช้งานบัฟเฟอร์ประสิทธิภาพสูงเพื่อรองรับ Simple Binary Encoding Message Codec
สำหรับข้อมูลเวอร์ชันล่าสุดและการเปลี่ยนแปลง โปรดดูบันทึกการเปลี่ยนแปลง
สามารถดูรุ่นล่าสุดและ ดาวน์โหลดได้ ใน Maven Central
สาธารณูปโภครวมถึง:
- บัฟเฟอร์ - บัฟเฟอร์โดยตรงและแบบอะตอมมิกที่ปลอดภัยสำหรับเธรดสำหรับการทำงานกับหน่วยความจำฮีปแบบเปิดและปิดด้วยซีแมนทิกส์การเรียงลำดับหน่วยความจำ
- รายการ - รายการที่ได้รับการสนับสนุนอาร์เรย์ของ int/long ดั้งเดิมเพื่อหลีกเลี่ยงการชกมวย
- แผนที่ - การกำหนดที่อยู่แบบเปิดและการตรวจสอบเชิงเส้นด้วยคีย์พื้นฐาน int/long ไปจนถึงค่าอ้างอิงวัตถุ
- แผนที่ - การกำหนดที่อยู่แบบเปิดและการตรวจสอบเชิงเส้นด้วยคีย์ดั้งเดิม int/long ไปจนถึงค่า int/long
- ชุด - การกำหนดที่อยู่แบบเปิดและการตรวจสอบเชิงเส้นสำหรับ int/long primitives และการอ้างอิงอ็อบเจ็กต์
- แคช - ตั้งค่าการเชื่อมโยงด้วยคีย์ดั้งเดิม int/long ให้เป็นค่าอ้างอิงวัตถุ
- นาฬิกา - การใช้งานนาฬิกากับนาฬิการะบบเชิงนามธรรม อนุญาตแคช และเปิดใช้งานการทดสอบ
- คิว - การใช้งานแบบไม่มีการล็อคสำหรับแอปพลิเคชันที่มีความหน่วงต่ำ
- Ring/Broadcast Buffers - ใช้งานแบบ off-heap สำหรับการสื่อสาร IPC
- กรอบงานตัวแทนอย่างง่ายสำหรับบริการที่เกิดขึ้นพร้อมกัน
- การจัดการสัญญาณเพื่อรองรับ "Ctrl + c" ในแอปพลิเคชันเซิร์ฟเวอร์
- Scalable Timer Wheel - สำหรับการตั้งเวลาตามกำหนดเวลาที่กำหนดด้วยการลงทะเบียน O(1) และยกเลิกเวลา
- การสร้างโค้ดจากการใช้งานที่มีคำอธิบายประกอบเฉพาะสำหรับประเภทดั้งเดิม
- การใช้งานตัวนับนอกฮีปสำหรับการวัดและส่งข้อมูลทางไกลของแอปพลิเคชัน การติดตามตำแหน่ง และการประสานงาน
- การใช้งาน InputStream และ OutputStream ที่สามารถห่อบัฟเฟอร์โดยตรง
- DistinctErrorLog - บันทึกข้อผิดพลาดที่แตกต่างกันเพื่อหลีกเลี่ยงการเติมดิสก์ด้วยวิธีการบันทึกที่มีอยู่
- IdGenerator - ตัวสร้าง ID ที่ไม่ซ้ำกันพร้อมกันและกระจายโดยใช้การใช้อัลกอริธึม Twitter Snowflake แบบไม่ต้องล็อค
สร้าง
จาวาบิลด์
สร้างโปรเจ็กต์ด้วย Gradle โดยใช้ไฟล์ build.gradle นี้
คุณต้องมีสิ่งต่อไปนี้เพื่อสร้าง Agrona:
- Java 17 รุ่นล่าสุด Agrona ได้รับการทดสอบกับ Java 17 และ 21
ทำความสะอาดและสร้างอย่างสมบูรณ์:
ใบอนุญาต (ดูไฟล์ใบอนุญาตสำหรับใบอนุญาตฉบับเต็ม)
ลิขสิทธิ์ 2014-2024 เรียล ลอจิก จำกัด
ได้รับอนุญาตภายใต้ Apache License เวอร์ชัน 2.0 ("ใบอนุญาต"); คุณไม่สามารถใช้ไฟล์นี้ได้เว้นแต่จะเป็นไปตามใบอนุญาต คุณสามารถขอรับสำเนาใบอนุญาตได้ที่
https://www.apache.org/licenses/LICENSE-2.0
เว้นแต่กฎหมายที่ใช้บังคับกำหนดหรือตกลงเป็นลายลักษณ์อักษร ซอฟต์แวร์ที่เผยแพร่ภายใต้ใบอนุญาตนี้จะถูกแจกจ่าย "ตามที่เป็น" โดยไม่มีการรับประกันหรือเงื่อนไขใดๆ ทั้งโดยชัดแจ้งหรือโดยนัย ดูใบอนุญาตสำหรับภาษาเฉพาะที่ควบคุมการอนุญาตและข้อจำกัดภายใต้ใบอนุญาต