
netty
云哥Y
技术源于实践,技术改变世界!
展开
-
第一个Netty程序(编写Hello Netty服务器)
具体步骤构建一对主从线程组定义服务器启动类为服务器设置channel设置处理从线程池的助手类初始化器(我们会有一个channel,这个channel会有一堆相应的助手类handler对它进行处理,如编解码处理、读写数据等。这些操作都是需要归类在助手类的初始化器里面,简单来说它就是一个类,在这个类里要添加很多的助手类。)监听启动和关闭服务器设置channel初始化器每一个chann...原创 2018-12-21 21:04:51 · 403 阅读 · 0 评论 -
学习Netty前对BIO、NIO、AIO的理解
概念Netty是一个提供了易于使用的API的客户端/服务器框架高并发NIO(非阻塞IO)传输快,零拷贝(在Java中,内存分为堆栈常量池等。假设现在我们有一些数据,我们需要从IO里面读取并且放到堆里面,那么一般都会从IO流将数据读入缓冲区,然后再从缓冲区里读到堆内存中。这样的话,数据要经过两次的拷贝才能到达最终的堆里。如果数据很大的话,其实会造成资源的浪费。而零拷贝是指它会去开辟一个新的堆...原创 2018-12-17 21:44:51 · 486 阅读 · 1 评论 -
Reactor线程模型
单线程模型(所有的IO操作都由同一个NIO线程处理)原理上图,有三个客户端连接了服务端,在服务端有一个单线程。连接都是由这个单线程处理的,连接完后需要做一些额外的操作也是由这个单线程去处理的。作为服务端,它用于接收客户端所有的连接。如果作为客户端,它就会向服务端发起所有的连接。同时,它又可以去读取请求、响应消息、发送请求等。这种线程模型其实就是一种异步非阻塞的IO,所有的IO操作都不会阻塞。...原创 2018-12-18 20:42:01 · 364 阅读 · 1 评论