当前位置: 首页 > 知识库问答 >
问题:

字节单元初始容量大小

周涵畅
2023-03-14

请给我建议如何增加ByteBuf的初始容量。
在以下情况下:

 @Override
protected void decode(ChannelHandlerContext ctx, ByteBuf in, List<Object> out) throws  Exception {

    byte[] byteinput = new byte[in.readableBytes()]; 
    in.readBytes(byteinput);  

//further handling...
}

如果收入消息超过了ByteBuf的最大容量-我得到剪切数据。对于这个项目来说,获得完整的、非分块的消息是至关重要的。

ch.config().setReceiveBufferSize(1024)

共有1个答案

钱星华
2023-03-14

这很容易。

ServerBootstrap b = new ServerBootstrap(); // (2)
        b.group(bossGroup, workerGroup)
                .channel(NioServerSocketChannel.class) // (3)
                .childHandler(new ChannelInitializer<SocketChannel>() { // (4)
                    @Override
                    public void initChannel(SocketChannel ch) throws Exception {

                        //decrypt  //checknum

                        ch.config().setRecvByteBufAllocator(new FixedRecvByteBufAllocator(2048)); //set  buf size here
                         ch.pipeline().addLast(new InboundDecryptor());
 .
 .
 .
 类似资料:
  • 问题内容: 我正在写很多东西来登录突发,并优化数据路径。我用建立日志文本。从内存管理角度来看,最有效的初始容量是什么,因此不管使用JVM,它都能正常工作吗?目标是几乎总是避免重新分配,这应该由大约80-100的初始容量覆盖。但是我也想浪费尽可能少的字节,因为StringBuilder实例可能会在缓冲区中徘徊,浪费的字节会大量出现。 我意识到这取决于JVM,但是应该有一些值,这将浪费最少的字节数,而

  • 问题内容: 我应该传递什么值来为N个项目创建有效的/ 基于结构的结构? 在中,有效数字为N(N已假定未来增长)。a的参数应该是什么?((int)(N * 0.75d),0.75d)?更多?减?更改负载系数有什么影响? 问题答案: 关于负载因子,我将简单引用HashMap javadoc : 通常,默认负载因子(.75)在时间和空间成本之间提供了很好的折衷。较高的值会减少空间开销,但会增加查找成本(

  • 问题内容: 当我运行具有NLP库的Java类时出现此错误。 任何想法,我怎么可以解决这个错误:) 问题答案: 您应注意,如果将初始堆大小设置为大于最大堆大小,则应用程序将产生此类错误 表示 初始堆大小 表示特定JVM 允许的最大堆大小 错,因为默认的最大堆大小可能小于128m 更好,因为初始大小等于或大于最大值 在此处阅读更多信息http://javahowto.blogspot.com/2006

  • 问题内容: 考虑以下示例代码: 初始化时的初始容量为7,然后下一行尝试将字符串“ Hello”添加到位置5。这将引发IndexOutOfBoundsException: 线程“主”中的异常java.lang.IndexOutOfBoundsException:索引:5,大小:0 我查看了有关ArrayList的“初始容量”的含义的问题。我知道这个特定的构造函数正在为7个String元素分配空间,如

  • 问题内容: 显然,javac中初始化字符串的大小受到限制。谁能帮助我确定最大限额? 谢谢 编辑: 我们正在构建一个初始化字符串,看起来像这样的“ {1,2,3,4,5,6,7,8 ......}”,但理想情况下应包含10,000个数字。当我们为1000执行此操作时,10,000会引发错误,提示代码对于try语句而言太大。 为了产生这种效果,我们使用了一个stringbuilder并在附加值的数组上

  • 问题内容: 我正在为门户网站进行房地产订阅,它告诉我字符串的最大长度应为20,000字节(20kb),但我从未遇到过。 我该如何测量尺寸。因此,我可以做一会儿循环来修剪它。 问题答案: 您必须确定字符串是ascii编码还是采用多字节格式编码。 在前一种情况下,您可以使用。 在后一种情况下,您需要找到每个字符的字节数。 strlen文档提供了如何执行此操作的示例:http : //www.php.n