欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java的NIO之通道channel詳解

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

通道(channel)

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

Channel 表示IO源與目標打開的連接。

Channel類類似于傳統(tǒng)的“流”。只不過Channel本身不能直接訪問數據,Channel只能與Buffer進行交互。

jvm數據傳輸的發(fā)展

第一階段:由CPU直接處理和管理IO接口并進行數據傳輸。

在這里插入圖片描述

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

在這里插入圖片描述

第三階段:寄存器DMA換成通道Channel,通道獨立開來不由CPU管,也不需要申請權限,只有由其對IO接口進行處理和管理,然后實現數據傳輸。

在這里插入圖片描述

Java為Channel接口提供的最主要實現類如下:

  1. FileChannel : 用于讀取、寫入、映射和操作文件的通道
  2. DatagramChannel : 通過 UDP 讀寫網絡中的數據通道。
  3. SocketChannel : 通過 TCP 讀寫網絡中的數據。
  4. ServerSocketChannel : 可以監(jiān)聽新進來的 TCP 連接,對每一個新來進來的連接都會創(chuàng)建一個 SocketChannel。

獲取通道

獲取通道的一種方式是對支持通道的對象調用getChannel() 方法。支持通道的類如下:

  1. FileIputStream
  2. FileOutputStream
  3. RandomAccessFile
  4. DatagramSocket
  5. Socket
  6. ServerSocket 獲取通道的其他方式是使用 Files 類的靜態(tài)方法 newByteChannel()獲取字節(jié)通道?;蛘咄ㄟ^通道的靜態(tài)方法open() 打開并返回指定通道。

FileChannel的常用方法

在這里插入圖片描述

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

相關文章

  • java基于C/S模式實現聊天程序(服務器)

    java基于C/S模式實現聊天程序(服務器)

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

    java實現文件壓縮成zip的工具類

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

    詳解Java LinkedHashMap與HashMap的使用

    這篇文章主要通過幾個示例為大家詳細介紹了Java中LinkedHashMap與HashMap的常見使用和概述,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2022-10-10
  • Java實現五子棋的基礎方法

    Java實現五子棋的基礎方法

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

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

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

    SpringBoot中的Bean裝配詳解

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

    Java利用redis實現防止接口重復提交

    本文主要為大家詳細介紹了Java如何利用redis實現防止接口重復提交,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-11-11
  • Java使用poi導出ppt文件的實現代碼

    Java使用poi導出ppt文件的實現代碼

    Apache POI 是用Java編寫的免費開源的跨平臺的 Java API,Apache POI提供API給Java對Microsoft Office格式檔案讀和寫的功能。本文給大家介紹Java使用poi導出ppt文件的實現代碼,需要的朋友參考下吧
    2021-06-06
  • Intellij IDEA神器居然還有這些小技巧

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

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

    java實現學生教師管理系統(tǒng)

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

最新評論