当前位置: 首页 > news >正文

【闪电侠学netty】第2章 Netty是什么

1. 内容概要

2.1 IO编程

1. 什么是IO编程?

  • Input Stream :数据从外面(磁盘、网络)流进内存
  • Output Stream:数据从内存流到外面去
  • IO编程内存和磁盘/网络交互数据的编程

2.2 NIO编程

1. 什么是NIO编程?

  • NIOnew input/output
IONIO
线程一个连接一个线程

两个(均在服务器端

serverSelector:轮询是否有新的连接

clientSelector:轮询连接是否有可读数据

读写面向流Stream面向Buffer
读写效率低:一次性只能从流中读取一个或多个字节:任意读取任何数据
缓存数据需要自己缓存无须缓存,移动指针读写


2.3 Netty编程

1. 什么是Netty?

  • 异步事件驱动网络应用架构
  • 封装JDK的NIO,使用更方便

2. Netty不使用原生NIO的原因?

  • 简易性:原生NIO需要了解概念太多,API反人类,编程复杂,易出错
  • Netty底层NIO和IO模型随意切换
  • 自带拆包/粘包,异常检测等机制,程序员只需关心业务逻辑
  • 解决JDK的BUG,如空轮询
  • Reactor线程模型高效的并发处理
  • 自带各种协议栈:无须自己实现
  • 社区活跃
  • 健壮性:经历各大RPC框架、消息中间件、分布式通讯中间件的广泛验证

3. netty maven依赖 + Java 快速入门

点击进入

2. 心得

  • Netty完美封装NIO,代码优雅
  • Netty几乎不用操心网络通讯性能问题,尽情地让Netty榨干你的CPU吧。这句话不理解,后面再更新这里的心得

相关文章:

  • 巴中做网站公司/百度推广怎么运营
  • 网站建设软件培训学校/东莞seo广告宣传
  • 培训类网站开发/百度pc网页版
  • 湖北企业网站建设哪家好/怎么样建网站
  • 建一个网站素材哪里来/合肥网站推广优化公司
  • 网络推广服务商排名/百度关键词优化快速排名软件
  • 如何修复u盘损坏的文件?
  • 终于有人将Session和cookie讲明白了!一节课彻底搞懂
  • 【文件指针+文件顺序读写操作函数】
  • Java分割字符串(spilt())
  • git使用(复健 1 )
  • 2022视频编码招聘面经
  • Python爬虫 Selenium(六)
  • Day54 跨域CORS资源JSONP回调域名接管劫持
  • Doris 使用记录(随机更新(ง •_•)ง)
  • 软考初级哪个好考
  • 套接字编程(二)UDP服务端与客户端的通信模拟实现
  • 【电子学会】2022年12月图形化四级 -- 金牌百分比