资讯专栏INFORMATION COLUMN

java-netty-study-1-bio和nio

genedna / 1127人阅读

摘要:一个多路复用器可以负责成千上万的通道,没有上限。这也是使用了代替传统的实现,获得连接句柄客户端没有限制。那也就意味着我们只要一个线程负责的轮询,就可以接入成千上万个客户端,这是库的巨大进步。

前言
netty 学习系列,资料来源网络
(链接:https://pan.baidu.com/s/16wV1... 密码:qzw1)

Netty 应用场景

hadoop、dubbo、akka等具有分布式功能的框架,底层RPC通信都是基于netty实现的

游戏服务器

传统io socket 通信 弊端

两处阻塞
*第一处是
ServerSocket server=new ServerSocket(10101);
final Socket socket = server.accept();//第一处
*第二处是
InputStream inputStream = socket.getInputStream();

一个连接要一个线程

NIO

主要有一个Selector:
简单说,就是Selector会不断的轮询注册在其上的通道(Channel),如果某个通道发生了读写操作,这个通道就处于就绪状态,会被Selector轮询出来,然后通过SelectionKey可以取得就绪的Channel集合,从而进行后续的IO操作。一个多路复用器(Selector)可以负责成千上万的通道(Channel),没有上限。这也是JDK使用了epoll代替传统的select实现,获得连接句柄(客户端)没有限制。那也就意味着我们只要一个线程负责Selector的轮询,就可以接入成千上万个客户端,这是JDK NIO库的巨大进步。

ServerSocketChannel ==> ServerSocket

SocketChannel ==> Socket

Selector==>监听多个Channel

SelectionKey

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/71798.html

相关文章

  • java-netty-Netty in Action 5th-ch1-Netty and Java

    摘要:一个多路复用器可以负责成千上万的通道,没有上限。不需要通过对多路复用器对注册的通道进行轮询操作即可实现异步读写,从而简化编程模型。同时,支持支持如果是怎么办最后,到目前位置,支持不支持二无法扩展作为的核心,无法扩展,私有构造函数。 前言 netty 学习 基于 netty in action 5th, 官网资料,网络博客等 1.1 Why Netty? netty 是一个中间层的抽象 ...

    LeviDing 评论0 收藏0
  • Java NIO 概览

    摘要:线程之间的切换对于操作系统来说是昂贵的。因此,单线程可以监视多个通道中的数据。当方法返回后,线程可以处理这些事件。 一 NIO简介 Java NIO 是 java 1.4 之后新出的一套IO接口,这里的的新是相对于原有标准的Java IO和Java Networking接口。NIO提供了一种完全不同的操作方式。 NIO中的N可以理解为Non-blocking,不单纯是New。 它支持面...

    chemzqm 评论0 收藏0
  • Java NIO 系列教程

    摘要:异步可以让你异步的使用,例如当线程从通道读取数据到缓冲区时,线程还是可以进行其他事情。当数据被写入到缓冲区时,线程可以继续处理它。因此,单个的线程可以监听多个数据通道。下面是系列文章的目录概述通道之间的数据传输与原文译者郭蕾校对方腾飞 Java NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),Java NIO提供了与标准IO不同的...

    fanux 评论0 收藏0
  • 关于Java IO与NIO知识都在这里

    摘要:从通道进行数据写入创建一个缓冲区,填充数据,并要求通道写入数据。三之通道主要内容通道介绍通常来说中的所有都是从通道开始的。从中选择选择器维护注册过的通道的集合,并且这种注册关系都被封装在当中停止选择的方法方法和方法。 由于内容比较多,我下面放的一部分是我更新在我的微信公众号上的链接,微信排版比较好看,更加利于阅读。每一篇文章下面我都把文章的主要内容给列出来了,便于大家学习与回顾。 Ja...

    Riddler 评论0 收藏0
  • JDK10都发布了,nio你了解多少?

    摘要:而我们现在都已经发布了,的都不知道,这有点说不过去了。而对一个的读写也会有响应的描述符,称为文件描述符,描述符就是一个数字,指向内核中的一个结构体文件路径,数据区等一些属性。 前言 只有光头才能变强 回顾前面: 给女朋友讲解什么是代理模式 包装模式就是这么简单啦 本来我预想是先来回顾一下传统的IO模式的,将传统的IO模式的相关类理清楚(因为IO的类很多)。 但是,发现在整理的过程已...

    YFan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<