java - 如何减少网络垃圾的产生?

标签 java garbage-collection netty

我有一个使用 netty 框架编写的处理大约 40k msg/sec 的网络应用程序,我想减少垃圾收集器调用的次数。在分析时我发现有大量的 byte[] 实例,我怀疑它来自这部分代码:

public class MessageHandler extends SimpleChannelHandler {

public void messageReceived(ChannelHandlerContext ctx, final MessageEvent e) {

    ChannelBuffer message = (ChannelBuffer) e.getMessage();
}

}

是否有可能强制 netty 以某种方式重用/池 ChannelBuffers 以防止它每次都构造它们?

最佳答案

我们计划实现缓冲池,但尚未完成。

参见 https://github.com/netty/netty/issues/62

关于java - 如何减少网络垃圾的产生?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9108930/

相关文章:

java - Eclipse:无法加载JNI共享库 "C:\Windows\system32\..\jre\bin\client\jvm.dll"

tcp - Netty中net.inet.tcp.recvspace、SO_RCVBUF、Direct ByteBuf和ByteBufAllocator的关系

java - 在关闭程序之前添加消息

递归方法的 Java 输出

c# - 为什么以下代码在 WCF 服务与控制台应用程序中运行速度相当慢?

c++ - C++ 中的堆栈、静态和堆

java - PSYoungGen 不是 "eden"、 "from"和 "to"的总和?

java - 在处理程序使用 Netty 接收事件之前,如何将对象附加到 channel ?

java - 来自 Netty 5.x 处理程序的同步调用(阻塞)

Java:在读取和格式化文本文件时保留前导零