随笔分类 - Netty基础知识
Java的网络编程框架Netty的基础知识与使用
摘要:1)理解NioEventLoop中nio线程的工作流程,多种类型的事件如何协同处理。
2)理解nio线程与其他线程的同步关系
3)理解NioEventLoop中selector如何发挥作用,netty对于key的优化以及空轮询bug是如何处理的。
阅读全文
摘要:1)理解服务端启动的基本逻辑
2)理解netty中线程间同步的思想(保护性暂停模式)
3)理解netty的基本组件channel,promise,EventLoo在服务端启动过程中发挥的作用。
阅读全文
摘要:
1)可扩展性代码的思路
2)使用netty需要关注的网络参数
阅读全文

摘要:
理解:
1)各种message class在netty中的处理方式
2)连接超时和假死连接在netty中的处理策略
3)NIO线程和普通线程如何通过netty的promise实现通信
4)聊天应用和RPC应用的基本思想,特别关注消息的处理和动态代理的应用。
阅读全文

摘要:
1)分析了应用层数据解析时的粘包和半包问题,并总结了四种解决策略的优缺点的。
2)介绍自定义协议所需要的基本要素,并利用netty的基于长度字段的编码器实现采用自定义协议的数据的发送和解析。
阅读全文

摘要:
主要介绍了Netty的数据通道Chanenl,进程间结果传递Future和Promise,数据处理组件handler,数据缓冲的ByteBuf的使用方法
重点关注:
a)其中ByteBuf的内存管理的基本原则
b) pipeLine的双向链表结构、pipeLine中进出站handler的调用顺序,pipeLine中默认头尾handler的作用(数据处理和内存管理)
c) Future和Promise接口的作用
阅读全文

摘要:
1)总体上梳理了netty中chanenl,eventLoop,handler这几个组件的关系。
2)对eventLoop的基本使用进行了介绍。
阅读全文

摘要:
1)多线程环境下selector的使用方法,boss模块处理accept事件,多个worker处理读写事件。
2)明确阻塞/非阻塞,异步/同步,理解同步阻塞,同步非阻塞,同步多路复用,异步非阻塞的概念,注意没有异步阻塞这个说法。
阅读全文

摘要:
主要介绍Java的NIO组件selector的提出动机和使用方法
阅读全文

摘要:
1)对文件读写通道的使用的介绍 2)Java中多级目录的遍历,删除以及拷贝。
阅读全文
摘要:
1)Java的NIO的三大组件概述。 2)buffer的原理以及API的使用方法 3)利用buffer提供的方法解决黏包与半包问题。
阅读全文