亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java的NIO之通道channel詳解

 更新時(shí)間:2023年10月24日 10:06:28   作者:不等風(fēng)雨,只等你  
這篇文章主要介紹了Java的NIO之通道channel詳解,通道channel由java.nio.channels 包定義的,Channel 表示IO源與目標(biāo)打開(kāi)的連接,Channel類(lèi)類(lèi)似于傳統(tǒng)的"流",只不過(guò)Channel本身不能直接訪問(wèn)數(shù)據(jù),Channel只能與Buffer進(jìn)行交互,需要的朋友可以參考下

通道(channel)

通道(channel):由java.nio.channels 包定義的。

Channel 表示IO源與目標(biāo)打開(kāi)的連接。

Channel類(lèi)類(lèi)似于傳統(tǒng)的“流”。只不過(guò)Channel本身不能直接訪問(wèn)數(shù)據(jù),Channel只能與Buffer進(jìn)行交互。

jvm數(shù)據(jù)傳輸?shù)陌l(fā)展

第一階段:由CPU直接處理和管理IO接口并進(jìn)行數(shù)據(jù)傳輸。

在這里插入圖片描述

第二階段:引入寄存器DMA(流的概念引入),在需要使用IO操作的時(shí)候,由寄存器DMA向CPU申請(qǐng),然后再由寄存器統(tǒng)一管理IO接口,實(shí)現(xiàn)數(shù)據(jù)傳輸。

在這里插入圖片描述

第三階段:寄存器DMA換成通道Channel,通道獨(dú)立開(kāi)來(lái)不由CPU管,也不需要申請(qǐng)權(quán)限,只有由其對(duì)IO接口進(jìn)行處理和管理,然后實(shí)現(xiàn)數(shù)據(jù)傳輸。

在這里插入圖片描述

Java為Channel接口提供的最主要實(shí)現(xiàn)類(lèi)如下:

  1. FileChannel : 用于讀取、寫(xiě)入、映射和操作文件的通道
  2. DatagramChannel : 通過(guò) UDP 讀寫(xiě)網(wǎng)絡(luò)中的數(shù)據(jù)通道。
  3. SocketChannel : 通過(guò) TCP 讀寫(xiě)網(wǎng)絡(luò)中的數(shù)據(jù)。
  4. ServerSocketChannel : 可以監(jiān)聽(tīng)新進(jìn)來(lái)的 TCP 連接,對(duì)每一個(gè)新來(lái)進(jìn)來(lái)的連接都會(huì)創(chuàng)建一個(gè) SocketChannel。

獲取通道

獲取通道的一種方式是對(duì)支持通道的對(duì)象調(diào)用getChannel() 方法。支持通道的類(lèi)如下:

  1. FileIputStream
  2. FileOutputStream
  3. RandomAccessFile
  4. DatagramSocket
  5. Socket
  6. ServerSocket 獲取通道的其他方式是使用 Files 類(lèi)的靜態(tài)方法 newByteChannel()獲取字節(jié)通道。或者通過(guò)通道的靜態(tài)方法open() 打開(kāi)并返回指定通道。

FileChannel的常用方法

在這里插入圖片描述

到此這篇關(guān)于Java的NIO之通道channel詳解的文章就介紹到這了,更多相關(guān)Java通道channel內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java基于C/S模式實(shí)現(xiàn)聊天程序(服務(wù)器)

    java基于C/S模式實(shí)現(xiàn)聊天程序(服務(wù)器)

    這篇文章主要為大家詳細(xì)介紹了java基于C/S模式實(shí)現(xiàn)聊天程序的服務(wù)器篇,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • java實(shí)現(xiàn)文件壓縮成zip的工具類(lèi)

    java實(shí)現(xiàn)文件壓縮成zip的工具類(lèi)

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)文件壓縮成zip的工具類(lèi),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • 詳解Java LinkedHashMap與HashMap的使用

    詳解Java LinkedHashMap與HashMap的使用

    這篇文章主要通過(guò)幾個(gè)示例為大家詳細(xì)介紹了Java中LinkedHashMap與HashMap的常見(jiàn)使用和概述,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-10-10
  • Java實(shí)現(xiàn)五子棋的基礎(chǔ)方法

    Java實(shí)現(xiàn)五子棋的基礎(chǔ)方法

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)五子棋的基礎(chǔ)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • 深度剖析java動(dòng)態(tài)靜態(tài)代理原理源碼

    深度剖析java動(dòng)態(tài)靜態(tài)代理原理源碼

    這篇文章主要介紹了深度剖析java動(dòng)態(tài)靜態(tài)代理原理源碼,關(guān)于Java中的動(dòng)態(tài)代理,我們首先需要了解的是一種常用的設(shè)計(jì)模式--代理模式,而對(duì)于代理,根據(jù)創(chuàng)建代理類(lèi)的時(shí)間點(diǎn),又可以分為靜態(tài)代理和動(dòng)態(tài)代理。,需要的朋友可以參考下
    2019-06-06
  • SpringBoot中的Bean裝配詳解

    SpringBoot中的Bean裝配詳解

    Spring?IoC?容器是一個(gè)管理?Bean?的容器,在?Spring?的定義中,它要求所有的?IoC?容器都需要實(shí)現(xiàn)接口?BeanFactory,它是一個(gè)頂級(jí)容器接口,這篇文章主要介紹了SpringBoot中的Bean裝配詳解,需要的朋友可以參考下
    2024-04-04
  • Java利用redis實(shí)現(xiàn)防止接口重復(fù)提交

    Java利用redis實(shí)現(xiàn)防止接口重復(fù)提交

    本文主要為大家詳細(xì)介紹了Java如何利用redis實(shí)現(xiàn)防止接口重復(fù)提交,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-11-11
  • Java使用poi導(dǎo)出ppt文件的實(shí)現(xiàn)代碼

    Java使用poi導(dǎo)出ppt文件的實(shí)現(xiàn)代碼

    Apache POI 是用Java編寫(xiě)的免費(fèi)開(kāi)源的跨平臺(tái)的 Java API,Apache POI提供API給Java對(duì)Microsoft Office格式檔案讀和寫(xiě)的功能。本文給大家介紹Java使用poi導(dǎo)出ppt文件的實(shí)現(xiàn)代碼,需要的朋友參考下吧
    2021-06-06
  • Intellij IDEA神器居然還有這些小技巧

    Intellij IDEA神器居然還有這些小技巧

    Intellij IDEA真是越用越覺(jué)得它強(qiáng)大,它總是在我們寫(xiě)代碼的時(shí)候,不時(shí)給我們來(lái)個(gè)小驚喜,本文給大家主要介紹一些你可能不知道的但是又實(shí)用的小技巧,感興趣的朋友跟隨小編一起看看吧
    2021-01-01
  • java實(shí)現(xiàn)學(xué)生教師管理系統(tǒng)

    java實(shí)現(xiàn)學(xué)生教師管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)學(xué)生教師管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-10-10

最新評(píng)論