У меня есть сетевое приложение, которое обрабатывает около 40 000 сообщений в секунду, написанное с использованием инфраструктуры netty, и я хочу уменьшить количество вызовов сборщика мусора. Во время профилирования я обнаружил, что существует значительное количество экземпляров byte []
, и я подозреваю, что это происходит из этой части кода:
public class MessageHandler extends SimpleChannelHandler {
public void messageReceived(ChannelHandlerContext ctx, final MessageEvent e) {
ChannelBuffer message = (ChannelBuffer) e.getMessage();
}
}
Можно ли принудительно повторно использовать netty / пул ChannelBuffers
как-нибудь, чтобы он не конструировал их каждый раз?