第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

【九月打卡】第14天 解鎖網(wǎng)絡(luò)編程之NIO的前世今生

標(biāo)簽:
Java

课程名称 解锁网络编程之NIO的前世今生

课程章节:第2章 NIO网络编程模型、第3章 【熟悉】NIO网络编程详解

课程讲师: 张小喜


课程内容

NIO :  Non-blocking I/O 或New I/O

JDK 1.4

高并发网络服务器支持岗



https://img1.sycdn.imooc.com//6328805f0001f94a10910588.jpg

服务端等待客户端请求中是阻塞的,一直在等待,很多客户端请求时会遇到服务器建立线程资源枯竭的问题。


https://img1.sycdn.imooc.com//6328826e0001c91b10060597.jpg


改进点就是将阻塞IO修改为非阻塞IO模型,解耦,单线程节省资源


https://img1.sycdn.imooc.com//632883130001c8d010510573.jpg

channel 同流不同的地方在于channel是双向的,可读可写。

非阻塞性

操作唯一性,只能通过buffer来操作


实现类

文件类:FileChannel

UDP类:DatagramChannel

TCP类:ServerSockerChannel / SocketChannel

https://img1.sycdn.imooc.com//6328869400014f6c10930608.jpg


try {
    // 服务器通过服务端Socket 创建channel
    ServerSocketChannel serverChannel = ServerSocketChannel.open();
    // 服务端绑定端口
    serverChannel.bind(new InetSocketAddress(8000));

    // 服务器端监听客户端连接,建立socketchannel连接
    SocketChannel accept = serverChannel.accept();
    // 客户端连接远程主机及端口
    SocketChannel socketChannel = SocketChannel.open(new InetSocketAddress("127.0.0.1", 8000));


} catch (IOException e) {
    e.printStackTrace();
}


Buffer简介

作用:读写channel中数据

本质:一块内存区域,本质相当于byte的数组

属性: Capacity 容量  超过容量清空后再写入

           Position  位置  当前位置,读模式时position重置为0

            limit       上限  写模式时最多可以写入的,读模式表示可以最多读取的数据-写模式下的position值

            Mark      标记  存储一个特定的position,调用buffer的reset方法恢复到mark位置,依然可以从这个位置开始处理数组

除了boolean之外基础的数据类型都有buffer的实现类


ByteBuffer bytebuf = ByteBuffer.allocate(10);

bytebuf.put("agc".getBytes(Charset.forName("UTF-8")));

// 从写模式切换到读模式
bytebuf.flip();

byte b = bytebuf.get();
System.out.println(b);

Buffer mark = bytebuf.mark();

bytebuf.get();
bytebuf.reset();

bytebuf.clear();



课程收获
  NIO核心类的相关方法介绍和使用,对后面的实战打下基础



點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消