tnblog
首页
视频
资源
登录

Netty入门教程——认识Netty

6028人阅读 2021/12/17 14:55 总访问:139898 评论:0 收藏:0 手机
分类: Java 学习

什么是Netty?

Netty 是一个利用 Java 的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的 API 的客户端/服务器框架。
Netty 是一个广泛使用的 Java 网络编程框架(Netty 在 2011 年获得了Duke's Choice Award,见https://www.java.net/dukeschoice/2011)。它活跃和成长于用户社区,像大型公司 Facebook 和 Instagram 以及流行 开源项目如 Infinispan, HornetQ, Vert.x, Apache Cassandra 和 Elasticsearch 等,都利用其强大的对于网络抽象的核心代码。

        以上是摘自《Essential Netty In Action》这本书,本文的内容也是本人读了这本书之后的一些整理心得,如有不当之处欢迎大虾们指正

Netty和Tomcat有什么区别?

        Netty和Tomcat最大的区别就在于通信协议,Tomcat是基于Http协议的,他的实质是一个基于http协议的web容器,但是Netty不一样,他能通过编程自定义各种协议,          因为netty能够通过codec自己来编码/解码字节流,完成类似redis访问的功能,这就是netty和tomcat最大的不同。

        有人说netty的性能就一定比tomcat性能高,其实不然,tomcat从6.x开始就支持了nio模式,并且后续还有APR模式——一种通过jni调用apache网络库的模式,相比于旧          的bio模式,并发性能得到了很大提高,特别是APR模式,而netty是否比tomcat性能更高,则要取决于netty程序作者的技术实力了。


Netty为什么并发高

        Netty是一款基于NIO(Nonblocking I/O,非阻塞IO)开发的网络通信框架,对比于BIO(Blocking I/O,阻塞IO),他的并发性能得到了很大提高,两张图让你了解BIO和NIO的区别:


    

评价

Oracle数据库 入门教程(一)

前言我什么都没有,只有,一个不确定的明天,一个不知道的未来Oracle数据库Oracle Database,又名Oracle RDBMS,或简称Orac...

停止程序运行——PID

一、cmd->C:\Users\admin>netstat -nao二、根据对应端口查找:PID三、四、根据根据PID结束进程

为Maven空模块配置框架类型——pom的设置

一、pom.xml的使用只要你的依赖没问题,想生成什么项目都可以,这个要对Maven稍稍要有一定的了解如生成一个spring boot的项...

Mybatis自关联——单表创建的父子级关系

单表创建的父子级关系。但是它是子级指向父级,一个子集只能有一个父亲,所以字段parent只是一个对象,而不是集合1、创建实...

Git 的版本管理04——01切换版本

查看所有分支的所有记录(包括已经被删除的commit记录):git reflog切换版本:git reset --hard 唯一索引接着Git常用命令0...

Git 的版本管理04——02创建、切换、合并、删除分支

查看分支下的文件:ls查看所有分支:git branch创建分支:git branch 分支名切换分支:git checkout 分支名合并分支:git m...

Redis内存兜底策略——内存淘汰及回收机制

Redis内存兜底策略——内存淘汰及回收机制Redis内存淘汰及回收策略都是Redis内存优化兜底的策略,那它们是如何进行兜底的呢...

Oracle数据库的认识和基本使用

推荐一个Oracle数据库的一个学习网站:http://www.oraclejsq.com/article/010100110.html一、对Oracle数据库的认识1、数据...

net core 使用 EF Code First

下面这些内容很老了看这篇:https://www.tnblog.net/aojiancc2/article/details/5365 项目使用多层,把数据库访问...

cAPS.net 保存base64位格式的图片

publicvoidUpload() { //取出图片对应的base64位字符 stringimgBase=Request["imgBase"]; //c#里边的base6...

Quartz.net实例动态改变周期调度。misfire、Cron

Quartz:Java编写的开源的任务调度作业框架 类似Timer之类定时执行的功能,但是更强大Quartz.NET:是把Quartz转成C# NuGet...

.net Windows服务发布、安装、卸载、监听脚本。服务调试

一、脚本 为方便不用每次都去写安装卸载的脚本1.安装脚本@echooff @echo开始安装【服务】 %SystemRoot%\Microsoft.NET\Fr...

c、VB.net中全角半角转换方法

///<summary> ///转全角的函数(SBCcase) ///</summary> ///<paramname="input">任意字符串...

.net mvc分部页,.net core分部页

.net分部页的三种方式第一种:@Html.Partial("_分部页")第二种:@{ Html.RenderPartial("分部页");}...

C.net 配合小程序实现经过第三方服务器中转文件

某些时候,微信小程序前段上传文件的时候需要经过第三方服务器再将文件上传到客户的服务器;操作如下:1:(小程序内向中端服...
写代码里面打羽毛球最好的
排名
23
文章
19
粉丝
5
评论
1
Android studio打包脱坑1
剑轩 : 现在在做android了哇?
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术
暴雨中前进,伞是倒划天空的船。