
netty
文章平均质量分 88
你丫才是码农
这个作者很懒,什么都没留下…
展开
-
Netty源码分析-服务启动
EventLoopGroup bossGroup = new NioEventLoopGroup(); //配置 EventLoopGroup 线程组 EventLoopGroup workerGroup = new NioEventLoopGroup(); //配置 EventLoopGroup 线程组 try { ServerBootstrap b = new ServerBootstrap(); b.gr...原创 2021-08-07 23:18:17 · 163 阅读 · 0 评论 -
Netty内存相关
一.合理管理堆外内存堆外内存利弊:弊:堆外内存不收JVM管理,需要手动释放,稍有不慎,会引起内存泄漏利:1.进行网络I/O或文件读写时,堆内内存需要转换为堆外内存,如直接使用堆外内存,减少内存拷贝2.可实现进程间,多JVM实例间数据共享分配堆外内存的方式:1.JAVA NIO的api:ByteBuffer buf = ByteBuffer.allocate(10*1024*1024); //10M通过 ByteBuffer 分配的堆外内存不需要手动回收,它可以被 JVM 自动回.原创 2021-07-17 23:56:43 · 544 阅读 · 1 评论 -
Netty编解码相关
1.TCP最基本的拆包/粘包问题为什么有拆包/粘包?网络通信过程中,每次可发送的数据包大小是受限制的,如MTU:传输单元大小,链路层一次最大传输数据大小,一般为1500byteMSS:最大分段大小,TCP最大报文段长度,是传输层一次发送最大数据大小滑动窗口:数据接收方设置的窗口大小TCP报文如何保证数据包按次序到达并不丢失?所有数据帧都是有编号的,TCP对多个报文段回复一次ACK如果一次传输的网络数据大小超过传输单元大小,数据会拆分为多个数据包发送如果每.原创 2021-07-12 00:17:52 · 374 阅读 · 1 评论 -
Netty基础入门
1.netty的高性能表现在哪些方面?对平常的项目开发的启发?Reactor线程模型2.netty中有哪些重要的组件,他们之间的联系?3.netty的内存池,对象池是怎么设计的?4.针对netty你有哪些印象深刻的系统调优案例?netty对Java NIO进行了高级封装(拆包、粘包,数据编解码,TCP断线重连),简化了网络应用的开发过程为什么要学习netty:1.I/O模型,线程模型,事件处理机制2.易用的API接口3.数据协议,序列化的支持I/O请...原创 2021-07-10 18:52:02 · 189 阅读 · 0 评论