nio
凯歌的博客
架构师,java,python
展开
-
《netty》netty的核心组件
netty基于socket,实现了一个高性能的,nio的网络通信框架。我们来看一下他的核心组件:Channel: 通道,是数据传输的载体, 可以被打开或关闭,连接或者断开。 如:NioServerSocketChannel回调:就是回调函数。Future:ChannelFuture 使我们可以在通道上注册监听, 异步的处理操作。事件和ChannelHandler:...原创 2018-10-30 23:31:53 · 159 阅读 · 0 评论 -
《netty》javaNIO简介
NIO简介Java NIO 是 java 1.4 之后新出的一套IO接口,这里的的新是相对于原有标准的Java IO和Java Networking接口。NIO提供了一种完全不同的操作方式。NIO中的N可以理解为Non-blocking,不单纯是New。它支持面向缓冲的,基于通道的I/O操作方法。 随着JDK 7的推出,NIO系统得到了扩展,为文件系统功能和文件处理提供了增强的支持。 ...原创 2018-11-21 21:48:18 · 172 阅读 · 0 评论 -
《netty》javaNIO之利用SocketChannel和ServerSocketChannel实现客户端与服务器端简单通信
服务端 import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.ServerSocketChannel;import java.nio.channels.SocketChannel;/** * 1.通...原创 2018-11-21 22:21:56 · 901 阅读 · 0 评论 -
《netty》javaNIO之Selector(选择器)介绍
Selector(选择器)介绍Selector 一般称 为选择器 ,当然你也可以翻译为 多路复用器 。它是Java NIO核心组件中的一个,用于检查一个或多个NIO Channel(通道)的状态是否处于可读、可写。如此可以实现单线程管理多个channels,也就是可以管理多个网络链接。 使用Selector的好处在于: 使用更少的线程来就可以来处理通道了, 相比使用多个线程,避免了...原创 2018-11-21 22:49:36 · 1081 阅读 · 0 评论 -
《netty》netty源码分析之future和promise
future java.util.concurrent.Future<V>, Future表示一个可能还没有完成的异步任务的结果,针对这个结果可以添加Callback以便在任务执行成功或失败后作出相应的操作。// 取消异步操作boolean cancel(boolean mayInterruptIfRunning);// 异步操作是否取消boolean isCanc...原创 2018-12-07 00:03:57 · 323 阅读 · 0 评论 -
《netty》netty源码分析之NioEventLoop和NioEventLoopGroup
NioEventLoop继承Executor接口.NioEventLoop持有Selector selector; 通过openSelector() 获取Selector . @Override protected void run() { for (;;) { try { switch (sel...原创 2018-12-09 23:05:14 · 187 阅读 · 0 评论