Предусмотрен ли в методе ByteBuffer.allocate() кеширование использованных буфферов, или каждый раз создается новый?
Истина где-то в сорсах.
Как вам вообще в голову мысль пришла, что они могут кешироваться? Там же нет метода close(), по которому буфер мог бы вернуться в пул.
Нет там никакого кеширования, и не надо. Как правило такой буфер создаётся один на поток обработки, а не на каждый запрос как у вас. Так что никакого отдельного пула не требуется.