分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

netty总结

发布时间:2023-09-06 02:07责任编辑:蔡小小关键词:暂无标签

一. netty是什么

java有提供的操作网络的接口有两种IO和NIO,JDK7还有NIO2,NIO就是非阻塞的IO,NIO是一个线程对应多个客户端,IO则是一个SOCKET对一个线程,两者的模型图如下

   

Netty则是一个封装了io和nio的高性能高可用的网络框架,通过netty简化又丰富了原生的NIO操作,并且避免了NIO的原生缺陷。

二. netty设计思想

一个简单的nettydemo最少需要配置以下这些东西:Bootstrap ,然后在Bootstrap中分别指定EventLoopGroup,Channel,childHander 其中前面两个必须同是IO或者同时NIO的实现类型,childHander则是具体实现业务逻辑的地方,可以说一个hander代表一个功能,所有的hander都有共同的底层基础,通过组合各个hander,包括netty自带的和我们自己实现的,最终作为一个整体,提供应有的业务服务,netty本身提供了大量的hander来支持我们的开发,包括对常见的HTTP协议,websocket协议,spdy协议,实现了底层协议的封装,使开发者不用关心细节,而且所有这些提供的hander都实现了netty抽象出来的抽象类,因此我们还可以通过自定义的类对netty原有的类进行替换。Netty的hander都保存在ChannelContext中,分为In和Out两大类

Netty3线程模型

Netty4线程模型

三. 分享个人学习netty过程及收获

本人学习netty主要是靠两本书(netty in action 英文版和翻译版)和idea,经过两本书的对比,我强烈推荐大家看英文原版,不仅可以学技术还可以提高你的英文水平,这里还要几个我觉得比较重要的点,1.hander的顺序>解密>解压缩>聚合FullHttpRequest

  1. jdk7新增了NIO2

四.结尾

感谢各位能看到这儿,笔者写这篇博客主要是从个人总结的角度来写的,有什么不足之处欢迎大家指正和提出建议。

netty总结

原文地址:https://www.cnblogs.com/yintutu/p/9398597.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved