¿Cuáles son las buenas implementaciones de búfer circular sin bloqueo en Java?

El Disruptor de LMAX-Exchange es el más popular. Aquí hay otra buena: landz / z-stack. La interfaz es como la de una cola, por lo que tendrías que trabajar un poco más para construir el DSL que viene con Disruptor. Dicho esto, tiene interesantes especializaciones internacionales y largas para los buffers circulares Single Producer Single Consumer. Estos no están en caja (a diferencia del disruptor). ¿Por qué podría ser interesante una larga especialización de un búfer circular? Puede usarlo para enviar punteros inseguros (largos). Podría usar un par de estos para intercambiar punteros a blobs inseguros con prefijos de longitud. Ejemplo: un subproceso de red asigna fragmentos (asignados a través de un asignador de amigos / losa) para leer un protocolo con longitud prefijada, luego envía los punteros inseguros a los blobs (que tienen su longitud prefijada en línea) a un subproceso de procesamiento. El subproceso de procesamiento podría enviar los punteros de regreso (para que el productor pueda agregarlos nuevamente al asignador) a través de otro búfer circular simétrico una vez que haya terminado el procesamiento.