![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
netty学习
SiriusQiu
纸质阅读成瘾
展开
-
netty学习笔记09——filechannel的使用
文章目录netty学习笔记09——filechannel的使用netty学习笔记09——filechannel的使用写入内容import java.io.FileOutputStream;import java.io.IOException;import java.nio.ByteBuffer;import java.nio.channels.FileChannel;public class NIOFileChannelWriter { public static void main原创 2020-06-02 18:24:34 · 332 阅读 · 1 评论 -
netty学习笔记08——Channel
文章目录netty学习笔记08——Channel基本介绍netty学习笔记08——Channel基本介绍NIO的通道(channel)类似流,但是有以下的区别:通道可以同时进行读写(双工),而流只能读或者只能写(单工)通道可以实现异步读写数据通道可以从缓冲读数据,也可以写数据到缓存Channel在NIO中是一个接口public interface Channel extends Closeable()A channel represents an open connect原创 2020-06-02 18:17:21 · 169 阅读 · 0 评论 -
netty学习笔记01——IO多路复用模型
文章目录netty学习笔记01——IO多路复用模型阻塞I/O模型非阻塞I/O模型i/o多路复用poll方法select方法epoll方法信号驱动I/O模型异步I/Onetty学习笔记01——IO多路复用模型阻塞I/O模型阻塞i/o模型就是常见的io模型,请看如下的一个例子:server = new ServerSocket(port);server.accept();上述的代码会被阻...原创 2020-04-28 22:13:20 · 475 阅读 · 0 评论 -
netty学习笔记02——java如何使用socket通信呢
文章目录netty学习笔记02——java如何使用socket通信呢netty学习笔记02——java如何使用socket通信呢传统的BIO通信模型是这样的:服务端接受连接,把连接封装成为socket,把这个socket对象交给新的线程处理。服务端接受连接的代码:public class BIOTimeServer { public static void main(String[] ...原创 2020-04-30 10:59:48 · 176 阅读 · 0 评论 -
netty学习笔记03——利用线程池来处理连接
文章目录netty学习笔记03——利用线程池来处理连接netty学习笔记03——利用线程池来处理连接基于线程池的socket服务器public class BIOTimeServerThreadPool { public static void main(String[] args){ int port = 8080; if(args!=null && args.l...原创 2020-05-01 23:55:48 · 259 阅读 · 0 评论 -
netty学习笔记04——初识NIO
文章目录netty学习笔记04——初识NIOnetty学习笔记04——初识NIONIOTimeServer:public class NIOTimeServer { public static void main(String[] args){ int port = 8080; if(args!=null && args.length > 0 ){ tr...原创 2020-05-01 23:56:45 · 165 阅读 · 0 评论 -
netty学习笔记05——buffer的使用
文章目录netty学习笔记05——buffer的使用一个简单的demonetty学习笔记05——buffer的使用一个简单的demopublic class BasicBuffer { public static void main(String[] args) { //创建一个buffer,大小为5,即可以存放5个int IntBuffer intBuffer = IntBuffer.allocate(5); //向buffer中存放数据原创 2020-05-27 10:02:50 · 138 阅读 · 0 评论 -
netty学习笔记06——NIO三大组件的关系
netty学习笔记06——NIO三大组件的关系每个channel都会对应一个bufferselector对应一个线程,一个线程对应要给channel(连接、socket)程序切换到哪个channel是由事件决定的selector会根据不同的事件,在各个通道上切换buffer就是一个内存块,底层是有一个数组数据的读取写入是通过Buffer,这个和BIO有本质不同的。bio是面向流的,流有输入输出,不能双向。buffer可以读也可以写channel也是双向的...原创 2020-05-27 16:55:05 · 191 阅读 · 0 评论 -
netty学习笔记07——缓冲区Buffer
文章目录netty学习笔记07——缓冲区Buffer基本介绍重要参数相关API阅读构造bufferBuffer的创建flip()方法行为Get()和Put()行为netty学习笔记07——缓冲区Buffer基本介绍缓冲区Buffer,缓冲区本质上是一个可以读写数据的内存块,可以理解成是一个容器对象(含数组),该对象提供了一组方法,可以更轻松地使用内存块,缓冲区对象内置了一些机制,能够跟踪和记录缓冲区的状态变化情况。Channel提供从文件、网络读取数据 渠道,但是读取或写入的数据都必须经由Buffer原创 2020-05-27 16:54:09 · 221 阅读 · 0 评论