简介 目录 评价 推荐
  • 慕粉4211026 2022-07-03

                                               

    NIO 网络编程模型
    1.注册建立连接事件(Selector)
    2.客户端发起连接请求
    3.服务端接收请求,启动建立连接事件处理器(Acceptor Handler)
    4.Acceptor Handler创建与客户端的连接
    5.Acceptor Handler响应客户端建立连接请求
    6.Acceptor Handler向Selector注册连接可读事件
    7.Client发起请求
    8.Selector启动连接读写处理器(Read&Write Handler)
    9.Read&Write Handler处理与Client的读写业务
    10.Read&Write Handler响应Client的请求
    11.Read&Write Handler向Selector注册连接可读事件

    http://img1.mukewang.com/62c0f1fd0001e49f19201080.jpg

    0赞 · 0采集
  • 问天2347487 2022-03-30



    模型:对事物共性的抽象
    编辑模型:对编辑共性的抽象
    0赞 · 0采集
  • 慕后端4375678 2022-01-08
    么意了没睡去你不知道吗啡
    0赞 · 0采集
  • 慕后端4375678 2022-01-08
    发现的很很多次交
    0赞 · 0采集
  • qq_慕九州5564661 2021-12-29

    笔记笔记~记笔记。。。

    0赞 · 0采集
  • 慕莱坞9554491 2021-11-15

    总结

    0赞 · 0采集
  • 慕莱坞9554491 2021-11-15

    笔记2

    0赞 · 0采集
  • 慕莱坞9554491 2021-11-15

    biji1

    0赞 · 0采集
  • 慕莱坞9554491 2021-11-15

    First

    0赞 · 0采集
  • 慕莱坞9554491 2021-11-15

    First

    0赞 · 0采集
  • A_Liang 2021-11-07

    NIO网络模型图

    http://img3.mukewang.com/61878f1500018d9708850596.jpg

    0赞 · 0采集
  • 熊手拉猫手 2021-08-03

    接收服务器响应

    0赞 · 0采集
  • 熊手拉猫手 2021-08-03

    客户端编写:

    1 连接服务 - 一行代码就够而且很直观,没有什么函数式接口嵌套结构

        SocketChannel.open(new InetSocketAdress(.... )) 

    2 发送数据 - 也很简单直观,一行代码

        这里他用了终端输入  Scanner 作为要发送数据的来源,这个也可以学习下,如果要急速开发,甚至连网页界面也可以省略

        socketChannel.write(....  ) 

    3 接收响应 (这一节里没有,下节课)

    0赞 · 0采集
  • czx2017 2021-03-28

    NIO编程实现步骤

    http://img2.mukewang.com/6060251a000137bb07070223.jpghttp://img2.mukewang.com/6060252d0001a50707020261.jpg

    http://img4.mukewang.com/6060254100010e8408150233.jpg

    0赞 · 0采集
  • czx2017 2021-03-28

    3.Selector简介

    1)作用:IO就绪选择

    2)地位:NIO网络变成的基础

    3)代码片段:

    http://img4.mukewang.com/6060248f0001269e07530443.jpg    

    4)SelectionKey简介

     

    0赞 · 0采集
  • czx2017 2021-03-28

    2,Buffer简介

    1)作用:读写Channel中的数据

    2)本质:一块内存区域

    3)Buffer的属性:

            Capacity:容量

            Position:位置

            Limit:上限

            Mark:标记

    4)AIP:

        http://img4.mukewang.com/6060232a00010edf05710432.jpg

    http://img3.mukewang.com/606023550001d4ec05730432.jpg

    http://img1.mukewang.com/606023810001614a05950440.jpg

    http://img4.mukewang.com/6060239d0001855905770420.jpg

    http://img3.mukewang.com/6060240800019d9505800435.jpg

    http://img3.mukewang.com/606023d100011ab406120430.jpghttp://img4.mukewang.com/606023e90001822905960452.jpg

    0赞 · 2采集
  • czx2017 2021-03-28

    NIO核心

    1. Channel :通道

      特点:

            1)双向性(通道和流类似,但是流是单向的,而通道多双向的,既可以读也可以写)

            2)非阻塞性

            3)操作唯一性(NIO中,对Channel的操作具有唯一性,基于数据块的一个操作,通过buffer来操作)

             常用的实现类:

            1)文件类:FileChannel

            2)UDP类:DatagramChannel

            3)TCP类:ServerSocketChannel / SocketChannel

            socket回顾:

            http://img.mukewang.com/606022190001ca8908300408.jpg

            Channel的使用:

            http://img3.mukewang.com/606022610001fc0606960443.jpg

    1. Buffer: 缓冲区

    2. Selector:选择器 / 多路复用器

    0赞 · 0采集
  • czx2017 2021-03-28

    NIO模型的改进

    1. 非阻塞式IO模型

    2. 弹性伸缩能力强

    3. 单线程更加的节省资源

    0赞 · 0采集
  • czx2017 2021-03-28

    NIO模型

    http://img1.mukewang.com/60601aca0001f89407330441.jpg

    0赞 · 0采集
  • czx2017 2021-03-28

    NIO网络模型

    1. 基于非阻塞IO的模型

      http://img2.mukewang.com/606018e5000195cf08100396.jpg

    2. http://img3.mukewang.com/6060199800018ed107080431.jpg

            课程给出了一个思路:维护一个set集合,里面存放客户端发过来的请求,不断的去循环这个set,如果发现read有数据返回就交给一个handler去处理,否则就不处理当前这个请求,继续去循环下一个

    0赞 · 0采集
  • czx2017 2021-03-28

    BIO模型的缺点

    1. 阻塞式IO模型

    2. 弹性伸缩能力差:一个客户端对于一个服务端的业务线程,线程数和客户端是1:1的关系

    3. 多线程消耗资源

    1赞 · 1采集
  • czx2017 2021-03-28

    BIO网络模型

    BIO:阻塞IO ,在读写过程中会出现阻塞

    http://img2.mukewang.com/606015dd00013b9406430437.jpg

    如果客户端没有进一步的响应,此时服务端会处于长时间的等待状态。

    如果服务端有大量的线程处于等待状态,显然会对服务端的性能造成影响。

    http://img4.mukewang.com/6060162f000107d206560415.jpg

    0赞 · 1采集
  • czx2017 2021-03-28

    NIO网络编程模型

    1. NIO简介

      http://img4.mukewang.com/606014080001fd7208000387.jpg

    2. 编程模型

      http://img4.mukewang.com/6060143c0001408007520387.jpg

    0赞 · 0采集
  • czx2017 2021-03-27

    前置知识:

    1. JAVA基础知识

    2. BIO网络编程基础知识

    3. 多线程基础知识

    0赞 · 0采集
  • czx2017 2021-03-27
    1. NIO网络编程模型

    2. NIO网络编程详解

    3. NIO网络编程实战

    4. NIO网络编程的缺陷

    0赞 · 0采集
  • 慕沐7179102 2021-02-14
    非主率I0
    截图
    0赞 · 0采集
  • 慕沐7179102 2021-02-14
    主率IQ概念
    截图
    0赞 · 1采集
  • weixin_慕的地3297395 2021-01-07

    NIO:非阻塞I/O 或 New I/O

    应用场景:高并发网络编程

    模型:对事物共性的抽象

    编程模型:对编程共性的抽象

    0赞 · 0采集
  • 黑马王 2020-12-30

    channel是对输入流输出流的封装,它是是双向的,一个channel既可以读有可以写,同时具备非阻塞性,基于数据块(字节数组)的操作且只能通过Buffer来操作

    serversocket是BIO(accept方法(服务端)、getInputStream/outputStream方法(客户端))

    大致流程:创建端对象,绑定端口、监听连接

    0赞 · 0采集
  • 黑马王 2020-12-30

    selector、serversocketchannel、socketchannel、bytebuffer、线程、bio基础,这些是nio的前置知识,学习曲线比较陡

    客户端的断连、重连、网络间断、断包读写、失败缓存、网络阻塞、异常码流处理等问题很棘手,投入的时间和成本非常巨大

    0赞 · 1采集
数据加载中...
开始学习 免费