06 2017 档案
摘要:每种ByteBuf都有相应的分配器ByteBufAllocator,类似工厂模式。我们先学习UnpooledHeapByteBuf与其对应的分配器UnpooledByteBufAllocator 如何知道alloc分配器那是个? 可以从官方下载的TimeServer 例子来学习,本项目已有源码可在
阅读全文
摘要:因为jdk ByteBuffer使用起来很麻烦,所以netty研发出ByteBuf对象维护管理内存使用ByteBuf有几个概念需要知道1.向ByteBuf提取数据时readerIndex记录最后读取坐标,目的是下次从readerIndex开始读2.向ByteBuf写入数据时writerIndex记录
阅读全文
摘要:netty Future是基于jdk Future扩展,以监听完成任务触发执行Promise是对Future修改任务数据DefaultPromise是重要的模板类,其它不同类型实现基本是一层简单的包装,如DefaultChannelPromise主要是分析await是如何等侍结果的
阅读全文
摘要:Unsafe是托委访问socket,那么Channel是直接提供给开发者使用的 Channel 主要有两个实现 NioServerSocketChannel同NioSocketChannel 致于其它不常用不在研究范围内 NioServerSocketChannel 是给server用的,程序由始至
阅读全文
摘要:Unsafe 是channel的内部接口, 负责跟socket底层打交道。从书写跟命名上看是不公开给开发者使用的,直到最后实现NioSocketChannelUnsafe也没有公开出去 NioSocketChannelUnsafe 继承关系为: NioSocketChannelUnsafe -> N
阅读全文
摘要:ChannelPipeline 负责channel数据进出处理,如数据编解码等。采用拦截思想设计,经过A handler处理后接着交给next handler ChannelPipeline 并不是直接管理handler 而是通过 context 包装管理,一般以context 命名的是个重量级对象
阅读全文
摘要:分析NioEventLoopGroup最主有两个疑问 1.next work如何分配NioEventLoop 2.boss group 与child group 是如何协作运行的 从EventLoopGroup接口约定通过register方法从channel或promise转换成ChannelFut
阅读全文
摘要:NioEventLoop 是jdk nio多路处理实现同修复jdk nio的bug 1.NioEventLoop继承SingleThreadEventLoop 重用单线程处理 2.NioEventLoop是组成 pool EventLoopGroup 基本单元 总之好多边界判断跟业务经验之类的代码,
阅读全文
摘要:第一次接触时觉得很酷,深深吸引住,总觉得学这个没有错 第一家公司:入行了反现跟想的不一样,差太远不用写代码,坚决离职走人 第二家公司:当实习生做PHP一年,这时才发现什么叫维护跟研发区别,公司不行走人 第三家公司:想当体验下团队合作,发现根本不叫团队,而且知道组织架构,除了项目负责人下面全是小弟,没
阅读全文

浙公网安备 33010602011771号