netty
文章平均质量分 87
netty 深入实践与学习
幺零二肆
持之以恒,延迟满足
展开
-
第十一章 Netty 小应用
几个netty小应用:群聊、心跳、websocket 长连接原创 2021-04-15 22:42:57 · 318 阅读 · 0 评论 -
第十章 Netty 核心模块组件
Bootstrap、ServerBootstrapBootstrap 意思是引导,一个 Netty 应用通常由一个 Bootstrap 开始,主要作用是配置整个 Netty 程序,串联各个组件,Netty 中 Bootstrap 类是客户端程序的启动引导类,ServerBootstrap 是服务端启动引导类 常见的方法有public ServerBootstrap group(EventLoopGroup parentGroup, EventLoopGroup childGroup),该方法用于服原创 2021-04-04 22:48:10 · 252 阅读 · 2 评论 -
第九章 Netty 初试
Netty TCP 通信小例子,演示Netty的简单使用原创 2021-03-16 23:23:43 · 367 阅读 · 0 评论 -
第八章 Netty 高性能架构设计
Netty 中的 Reactor 模型解读原创 2021-03-14 23:35:52 · 209 阅读 · 0 评论 -
第七章 Netty 概述
原生NIO存在的问题NIO 的类库和 API 繁杂,使用麻烦:需要熟练掌握 Selector、ServerSocketChannel、SocketChannel、ByteBuffer 等。 需要具备其他的额外技能:要熟悉 Java 多线程编程,因为 NIO 编程涉及到 Reactor 模式,你必须对多线程和网络编程非常熟悉,才能编写出高质量的 NIO 程序。 开发工作量和难度都非常大:例如客户端面临断连重连、网络闪断、半包读写、失败缓存、网络拥塞和异常流的处理等等。 JDK NIO 的 Bug:例原创 2021-03-11 23:18:01 · 146 阅读 · 0 评论 -
第六章 NIO与零拷贝
零拷贝是网络编程的关键,很多性能优化都离不开。 在 Java 程序中,常用的零拷贝有 mmap(内存映射) 和 sendFile。那么,他们在 OS 里,到底是怎么样的一个的设计?我们分析 mmap 和 sendFile 这两个零拷贝原创 2021-03-10 23:43:09 · 192 阅读 · 0 评论 -
第五章 Java NIO 编程 (三)
编写一个 NIO 群聊系统,实现服务器端和客户端之间的数据简单通讯(非阻塞)实现多人群聊 服务器端:可以监测用户上线,离线,并实现消息转发功能 客户端:通过channel 可以无阻塞发送消息给其它所有用户,同时可以接受其它用户发送的消息(有服务器转发得到) 目的:进一步理解NIO非阻塞网络编程机制原创 2021-03-09 22:16:44 · 192 阅读 · 2 评论 -
第四章 Java NIO 编程(二)
Selector(选择器)Selector示意图和特点说明特点说明:Netty 的 IO 线程 NioEventLoop 聚合了 Selector(选择器,也叫多路复用器),可以同时并发处理成百上千个客户端连接。 当线程从某客户端 Socket 通道进行读写数据时,若没有数据可用时,该线程可以进行其他任务。 线程通常将非阻塞 IO 的空闲时间用于在其他通道上执行 IO 操作,所以单独的线程可以管理多个输入和输出通道。 由于读写操作都是非阻塞的,这就可以充分提升 IO 线程的运行效率,避免原创 2021-03-03 22:38:41 · 203 阅读 · 2 评论 -
第三章 Java NIO 编程(一)
NIO 有三大核心部分:Channel(通道),Buffer(缓冲区), Selector(选择器) NIO是 面向缓冲区 ,或者面向 块 编程的。数据读取到一个它稍后处理的缓冲区,需要时可在缓冲区中前后移动,这就增加了处理过程中的灵活性,使用它可以提供非阻塞式的高伸缩性网络原创 2021-03-01 23:49:46 · 258 阅读 · 0 评论 -
第二章 Java BIO编程
Java BIO : 同步并阻塞(传统阻塞型),服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销原创 2021-02-19 16:47:51 · 222 阅读 · 0 评论 -
第一章 Netty介绍和应用场景
netty 简介转载 2021-02-19 16:28:53 · 318 阅读 · 0 评论