netty
巴黎↓一整天氵
这个作者很懒,什么都没留下…
展开
-
ChannelPromise
ChannelPromiseFuture(JUC )Future( Netty异步结果)ChannelFuture(绑定Channel )Promise(异步执行)ChannelPromiseDefaultChannelPromise(实现类)Future(JUC )java.util.concurrent.Future 是 Java 提供的接口。future.get()阻塞线程,获取结果。Future( Netty异步结果)Netty 扩展了 Java 的 Future,增加了监听器 Li翻译 2020-07-30 15:01:10 · 3784 阅读 · 2 评论 -
服务端 ServerBootStrap
ServerBootStrapbossGroup & workerGroup服务端 Selector 事件轮询Netty 解决 JDK 空轮训 BugNetty 对 Selector 中 KeySet 的优化Handler 的添加过程服务端 handler 与 childHandler 的区别与联系public void start(int beginPort, int nPort) { System.out.println("server starting....");翻译 2020-07-29 17:58:35 · 681 阅读 · 0 评论 -
客户端 BootStrap
BootStrapChannel 简介不同的 Channel 类型客户端连接bootstrap.channel(NioSocketChannel.class)ReflectiveChannelFactory.classReflectiveChannelFactory.newChannel()何时调用?NioSocketChannel 的实例NioSocketChannel 类图客户端 Channel 的初始化总结Unsafe 的初始化Pipeline 的初始化EventLoop 的初始化EventLoopG翻译 2020-07-29 11:50:47 · 440 阅读 · 0 评论 -
堆外内存(直接内存)
堆外内存优势堆外内存的申请ByteBuffer.allocateDirect(1024)堆外内存释放JVM堆以外的内存,这些内存直接受操作系统管理(而不是虚拟机)。使用未公开的Unsafe和NIO包下ByteBuffer来创建堆外内存。优势减少了垃圾回收对应用程序造成的影响提升复制速度(io效率),堆外内存的数据可直接由操作系统写入磁盘。堆内内存由JVM管理,属于“用户态”;堆外内存由OS管理,属于“内核态”。如果从堆内向磁盘写数据时,数据会先被复制到堆外内存,即内核缓冲区翻译 2020-07-24 13:05:41 · 259 阅读 · 0 评论 -
GP--Netty
Netty优点功能、特性Netty 采用 NIO 而非 AIO 的理由传统 RPC 调用性能差的三宗罪高性能的三个主题Netty 高性能之道异步非阻塞通信零拷贝内存池ReactorNetty 是一个异步、事件驱动的,用来做高性能、高可靠性的网络应用框架。优点框架设计优雅,底层模型随意切换适应不同的网络协议要求。提供很多标准的协议、安全、编码解码的支持。解决了很多 NIO 不易用的问题。社区更为活跃,在很多开源框架中使用,如 Dubbo、RocketMQ、Spark 等。功能、特性翻译 2020-07-23 15:09:44 · 164 阅读 · 0 评论 -
GP -- BIO、NIO、AIO
I/Osocket服务端客户端同步阻塞IOserver.accept()socket.getInputStream()非阻塞IOI/O复用(同步非阻塞)FD(文件描述符)常见的IO多路复用方式有select、poll、epoll。BIO(Blocking IO,同步阻塞IO)传统的BIO模型NIO(New IO / Non-blocking IO)同步非阻塞NIO2 / AIO(异步、非阻塞)异步通道socket服务端public class Server { public static vo翻译 2020-07-21 19:44:24 · 153 阅读 · 0 评论 -
GP -- NIO三件套
nettyNIO 三件套缓冲区 Buffercapacity(最大容量)、position(索引)、limitBuffer读写时 三要素的变化缓冲区的分配 allocate 、wrap缓冲区的分片 子缓冲区 slice()只读缓冲区 asReadOnlyBuffer()直接缓冲区 allocateDirect()内存映射选择器 Selector传统的TPR(Thread per Request)模式NIO 三件套缓冲区(Buffer)、选择器(Selector)、通道(Channel)缓冲区 B翻译 2020-07-17 19:48:12 · 350 阅读 · 0 评论