Comparações de desempenho do buffer Java

Não tem certeza se um byte normal [] será suficiente, ou se você precisa de um ByteBuffer, ou mesmo de um ByteBuffer direto?

As diferenças de desempenho são amplamente dependentes do aplicativo, algumas perguntas a serem feitas:

Você vai encher e esvaziar o buffer com frequência?
O buffer deve ficar grande (1024 bytes +) antes de ser drenado?
Um buffer menor que é esvaziado com mais frequência funcionará melhor do que um buffer grande?

Aqui está uma boa visão geral: http://www.evanjones.ca/software/java-bytebuffers.html