文章分类 -  netty

Netty4学习笔记(8)-- Channel接口
摘要:Channel接口 Channel是Netty4最核心的接口之一,拥有将近40个方法和一个内部接口。本文将对Channel接口的众多方法做一个归类和总结,为进一步研究Channel实现做准备。 Channel继承了AttributeMap接口,关于AttributeMap的详细介绍请看上一篇文章。 阅读全文

posted @ 2018-07-11 14:12 腾飞的鹰 阅读(814) 评论(0) 推荐(0)

netty源码分析之-Future、ChannelFuture与ChannelPromise详解
摘要:jdk中的Future 该接口表示的是异步计算的结果,提供若干方法来监测计算是否完成、等待计算完成、获取计算的结果。下面举例其使用方法: future的get来获取异步计算的结果,该方法会阻塞直到计算完成。 上述submit方法也可以被以下替换: netty中的Future 下面是一些比较重要方法的 阅读全文

posted @ 2018-07-11 13:40 腾飞的鹰 阅读(3015) 评论(0) 推荐(0)

Netty超时控制handler
摘要:Netty为超时控制封装了两个类ReadTimeoutHandler和WriteTimeoutHandler,ReadTimeoutHandler,用于控制读取数据的时候的超时,如果在设置时间段内都没有数据读取了,那么就引发超时,然后关闭当前的channel;WriteTimeoutHandler, 阅读全文

posted @ 2018-07-11 10:53 腾飞的鹰 阅读(2925) 评论(0) 推荐(0)

[netty]--最通用TCP黏包解决方案:LengthFieldBasedFrameDecoder和LengthFieldPrepender
摘要:netty中针对这四种场景均有对应的解码器作为解决方案,比如: 大多数的协议在协议头中都会携带长度字段,用于标识消息体或则整包消息的长度。LengthFieldBasedFrameDecoder通过指定长度来标识整包消息,这样就可以自动的处理黏包和半包消息,只要传入正确的参数,就可以轻松解决“读半包 阅读全文

posted @ 2018-07-11 10:37 腾飞的鹰 阅读(1114) 评论(0) 推荐(0)

ByteBuf分析
摘要:原文地址:https://www.cnblogs.com/vectoryao/p/6273266.html 1. 概念 Java NIO API自带的缓冲区类功能相当有限,没有经过优化,使用JDK的ByteBuffer操作更复杂。故而Netty的作者Trustin Lee为了实现高效率的网络传输,重 阅读全文

posted @ 2018-06-27 17:46 腾飞的鹰 阅读(445) 评论(0) 推荐(0)

netty4.x ByteBuf 基本机制及其骨架实现
摘要:概述 netty 是一个 NIO 框架,在 JDK API 已提供相对直接的 NIO Library 的情况下,几乎很少的软件系统会直接用 NIO 进行编程,也很少有开发者会直接使用 NIO 技术开发网络相关的程序。因为 native nio library 已饱受诟病,API 难用,容易出错,存在 阅读全文

posted @ 2018-06-27 17:31 腾飞的鹰 阅读(964) 评论(0) 推荐(0)

ByteBuf内部结构与API学习
摘要:ByteBuf类图与常用API学习 ByteBuf类图如下: 现阶段主要描述一下主要类的作用 1、AbstractReferenceCountedByteBuf 不难理解,ByteBuf,一个最最重要的方面就是内存的管理,涉及到创建、重复利用、回收等方方面面AbstractReferenceCoun 阅读全文

posted @ 2018-06-27 17:24 腾飞的鹰 阅读(513) 评论(0) 推荐(0)

Netty4底层用对象池和不用对象池实践优化
摘要:在玩家达到1100左右时直接内存迅速升高,CPU占用也飙高, 在最高峰时,服务器堆内存总共 3993 M,占用堆内存 3476 M,直接内存总共 2048 M,占用直接内存 715.8125 M。 发现netty底层的对象占用了很多 Class NameShallow HeapRetained He 阅读全文

posted @ 2018-06-27 17:08 腾飞的鹰 阅读(444) 评论(0) 推荐(0)

netty源码阅读之UnpooledByteBufAllocator
摘要:使用IDEA阅读源码Navigate下面的工具是个好东西 。可以帮助分析类的结构等 ByteBufAllocator主要用来生成三种ByteBuf :HeadBuffer,DirectBuffer,CompositeBuffer. 还有一个ByteBufAllocator DEFAULT 静态属性。 阅读全文

posted @ 2018-06-27 17:03 腾飞的鹰 阅读(283) 评论(0) 推荐(0)

对于 Netty ByteBuf 的零拷贝(Zero Copy) 的理解
摘要:根据 Wiki 对 Zero-copy 的定义: 即所谓的 Zero-copy, 就是在操作数据时, 不需要将数据 buffer 从一个内存区域拷贝到另一个内存区域. 因为少了一次内存的拷贝, 因此 CPU 的效率就得到的提升. 在 OS 层面上的 Zero-copy 通常指避免在 用户态(User 阅读全文

posted @ 2018-06-27 16:49 腾飞的鹰 阅读(156) 评论(0) 推荐(0)

导航