Netty
高性能NIO框架
米咔米苏的零食
这个作者很懒,什么都没留下…
展开
-
Netty框架实现简单的客户端与服务端通信案例(附IDEA中可运行代码)
首先确保引入了netty的jar包(4.1.20版的netty),我是通过IDEA内部的Maven下的,因为这样可以将jar包直接放入项目的lib目录中,简单方便。还没下载的朋友可以看看:一、打开Project Structure,并点击Modules模块:二、输入io.netty:netty-all后点击搜索按钮,记得要保证IDEA连网,并且要耐心等一会儿,毕竟它不会一下就显示搜索结果,然后选择4.1.20版本的下载,初次下载比较慢。附上IDEA中...原创 2020-07-28 19:21:28 · 807 阅读 · 0 评论 -
NIO零拷贝传文件案例(附可用代码)
零拷贝比传统的IO拷贝性能高很多,主要是减少了内核和用户模式之间的上下文切换次数。零拷贝完全依赖于操作系统。操作系统支持,就有;不支持,就没有。不依赖Java本身。传统I/O在Java中,我们可以通过InputStream从源数据中读取数据流到一个缓冲区里,然后再将它们输入到OutputStream里。我们知道,这种IO方式传输效率是比较低的。那么,当使用上面的代码时操作系统会发生什么情况:这是一个从磁盘文件读取并且通过socket写出的过程,对应的系统调用如下:read(fil.原创 2020-07-21 16:36:33 · 440 阅读 · 0 评论 -
NIO入门小案例(实现服务器端与客户端之间的数据简单通讯)
NIO(JDK1.4)模型是一种同步非阻塞IO,主要有三大核心部分:Channel(通道),Buffer(缓冲区), Selector(多路复用器)。传统IO基于字节流和字符流进行操作,而NIO基于Channel和Buffer(缓冲区)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。Selector(多路复用器)用于监听多个通道的事件(比如:连接打开,数据到达)。因此,单个线程可以监听多个数据通道。 NIO和传统IO(一下简称IO)之...原创 2020-07-14 22:10:15 · 657 阅读 · 0 评论