Inter-thread messaging library
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
JCTools provides a collection of concurrent data structures that are missing from the Java Development Kit (JDK). It offers high-performance, lock-free queues and utilities designed for demanding multi-threaded applications, used by major frameworks like Netty and RxJava. ## Key Features - **SPSC/MPSC/SPMC/MPMC Queues** — Wait-free or lock-less concurrent queues for various producer-consumer patterns (Single/Multi Producer, Single/Multi Consumer). - **Linked Array Queues** — Bounded and unbounded queues balancing performance, memory allocation, and footprint. - **XAdd-Based Queues** — Unbounded linked array queues using XADD to reduce producer contention and pooled chunks to minimize allocation. - **Expanded Queue Interface** — `MessagePassingQueue` with relaxed offer/peek/poll for performance trade-offs and batch drain/fill methods for higher throughput. - **Implementation Variations** — Queues available in `Unsafe` (default), `Atomic` (using `AtomicFieldUpdater`), and `Unpadded` (reduced memory footprint) versions. ## Philosophy JCTools focuses on delivering excellent performance at zero cost (free under Apache 2.0 License) while maintaining stability and community-driven development.
High Performance data structures and utility methods for Java
Eclipse Collections is a collections framework for Java with optimized data structures and a rich, functional and fluent API.
Java Collections till the last breadcrumb of memory and performance