![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
netty
文章平均质量分 85
唐伯虎点蚊香dw
这个作者很懒,什么都没留下…
展开
-
Netty的零拷贝
首先我们来看一下维基百科对零拷贝给出的定义:零拷贝描述了一种计算机中的操作,即CPU在执行某项任务时不需要先将数据从内存中的一个位置移动到另一个位置就可以完成操作,从而节省了CPU时钟周期和内存带宽。从上面的描述可以看出,其实只要是节省了一次或多次数据的复制就可以称之为零拷贝了,这其实是一种广义的定义。在Netty中对于零拷贝有三个层次的实现,我们就一条条分析一下。避免数据流经用户空间在操作系统层面,将数据从来源设备A发送到目标设备B时,需要先将数据~~从A的内核空间读缓冲区复制到用户空间缓原创 2021-11-25 09:31:52 · 226 阅读 · 0 评论 -
Netty实现SSL双向验证完整实例
一、证书准备 要使用ssl双向验证,就必须先要生成服务端和客户端的证书,并相互添加信任,具体流程如下(本人调试这个用例的时候,花了很多时间来验证证书是否正确,以及握手失败的原因,这里证书生成过程只要按流程走,本人能保证绝对没有问题)现在打开cmd,在哪个目录下打开,证书就会放在哪个目录下:第一步: 生成Netty服务端私钥和证书仓库命令 keytool -genk...2017-03-06 17:06:18 · 675 阅读 · 0 评论 -
Bytebuffer和ByteBuf比较
一.ByteBuffer ByteBuffer是JDK NIO中提供的Java.nio.Buffer, 在内存中预留指定大小的存储空间来存放临时数据,其他Buffer 的子类有:CharBuffer、DoubleBuffer、FloatBuffer、IntBuffer、LongBuffer 和 ShortBuffer 1. Buffer ByteBuffer继承...原创 2017-03-01 17:54:46 · 274 阅读 · 0 评论 -
ByteBuffer和设计模式
ByteBuf是Netty框架里最重要的类之一,简单的说,ByteBuf就是Java.nio.ByteBuffer的Netty版。 ByteBuf逻辑结构正如类名所反映出来的,ByteBuf逻辑上就是一个byte容器。ByteBuf里的数据被两个指针划分为三个部分,如下图所示:reader index前面的数据是已经读过的数据,这些数据可以扔掉从reader inde...原创 2017-03-01 16:28:52 · 133 阅读 · 0 评论 -
Nettty的handler执行顺序
Handler在netty中,无疑占据着非常重要的地位。Handler与Servlet中的filter很像,通过Handler可以完成通讯报文的解码编码、拦截指定的报文、统一对日志错误进行处理、统一对请求进行计数、控制Handler执行与否。一句话,没有它做不到的只有你想不到的。Netty中的所有handler都实现自ChannelHandler接口。按照输出输出来分,分为ChannelIn...2017-11-27 17:34:24 · 271 阅读 · 0 评论 -
Netty系列之Netty案例集锦之多线程篇
1. Netty案例集锦系列文章介绍1.1. Netty的特点Netty入门比较简单,主要原因有如下几点:Netty的API封装比较简单,将复杂的网络通信通过BootStrap等工具类做了二次封装,用户使用起来比较简单;Netty源码自带的Demo比较多,通过Demo可以很快入门;Netty社区资料、相关学习书籍也比较多,学习资料比较丰富。但是很多入门之后的Ne...原创 2017-10-27 15:28:31 · 524 阅读 · 0 评论 -
Netty系列之Netty编解码框架分析
1. 背景1.1. 编解码技术通常我们也习惯将编码(Encode)称为序列化(serialization),它将对象序列化为字节数组,用于网络传输、数据持久化或者其它用途。反之,解码(Decode)/反序列化(deserialization)把从网络、磁盘等读取的字节数组还原成原始对象(通常是原始对象的拷贝),以方便后续的业务逻辑操作。进行远程跨进程服务调用时(例如RPC调用),...原创 2017-10-27 15:07:46 · 182 阅读 · 0 评论 -
Netty系列之Netty并发编程
1. JAVA内存模型与多线程编程1.1. 硬件的发展和多任务处理随着硬件特别是多核处理器的发展和价格的下降,多任务处理已经是所有操作系统必备的一项基本功能。在同一个时刻让计算机做多件事情,不仅仅是因为处理器的并行计算能力得到了很大提升,还有一个重要的原因是计算机的存储系统、网络通信等IO性能与CPU的计算能力差距太大,导致程序的很大一部分执行时间被浪费在IO wait上面,CP...原创 2017-10-27 14:47:55 · 308 阅读 · 0 评论 -
netty系列之netty可靠性原理
1. 背景1.1. 宕机的代价1.1.1. 电信行业毕马威国际(KPMG International)在对46个国家的74家运营商进行调查后发现,全球通信行业每年的收益流失约为400亿美元,占总收入的1%-3%。导致收益流失的因素有多种,主要原因就是计费BUG。1.1.2. 互联网行业美国太平洋时间8月16日下午3点50分到3点55分(北京时间8月17日6点50分到6点...原创 2017-10-26 17:27:01 · 340 阅读 · 0 评论 -
netty系列之Netty高性能之道
1. 背景1.1. 惊人的性能数据最近一个圈内朋友通过私信告诉我,通过使用Netty4 + Thrift压缩二进制编解码技术,他们实现了10W TPS(1K的复杂POJO对象)的跨节点远程服务调用。相比于传统基于Java序列化+BIO(同步阻塞IO)的通信框架,性能提升了8倍多。事实上,我对这个数据并不感到惊讶,根据我5年多的NIO编程经验,通过选择合适的NIO框架,加上高性...原创 2017-10-26 16:06:47 · 119 阅读 · 0 评论 -
Netty安全性
1、背景1.1. 严峻的安全形势1.1.1. OpenSSL Heart bleed漏洞2014年上半年对网络安全影响最大的问题就是OpenSSL Heart bleed漏洞,来自Codenomicon和谷歌安全部门的研究人员发现OpenSSL的源代码中存在一个漏洞,可以让攻击者获得服务器上64K内存中的数据内容。该漏洞在国内被译为” OpenSSL心脏出血漏洞”,因其破坏性之大...原创 2016-11-23 10:02:57 · 177 阅读 · 0 评论