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

Java中channel用法總結(jié)

 更新時間:2015年06月08日 16:07:46   作者:liuzx32  
這篇文章主要介紹了Java中channel用法,較為詳細(xì)的總結(jié)了channel的定義、類型及使用技巧,需要的朋友可以參考下

本文實例總結(jié)了Java中channel用法。分享給大家供大家參考。具體分析如下:

1.Channel接口的定義:

public interface Channel
{
  public boolean isOpen( );
  public void close( ) throws IOException;
}

2.Channel的常見類型:

FileChannel, SocketChannel, ServerSocketChannel, and DatagramChannel;
FileChannel通過RandomAccessFile, FileInputStream, FileOutputStream的getChannel()來初始化。

SocketChannel sc = SocketChannel.open();
sc.connect (new InetSocketAddress ("somehost", someport));
ServerSocketChannel ssc = ServerSocketChannel.open( );
ssc.socket().bind (new InetSocketAddress (somelocalport));
DatagramChannel dc = DatagramChannel.open();

3.Scatter/Gather,必須使用ByteBuffer.allocateDirect(100)

public interface ScatteringByteChannel extends ReadableByteChannel {
  public long read (ByteBuffer [] dsts) throws IOException;
  public long read (ByteBuffer [] dsts, int offset, int length) throws IOException;
}
public interface GatheringByteChannel extends WritableByteChannel {
  public long write(ByteBuffer[] srcs) throws IOException;
  public long write(ByteBuffer[] srcs, int offset, int length) throws IOException;
}

4.file lock是和file相關(guān),而不是channel??梢詫M(jìn)程有效,而不是線程??梢酝ㄟ^內(nèi)存映射文件(memory-mapped file)來實現(xiàn)線程同步

5.buffer = fileChannel.map (FileChannel.MapMode.READ_ONLY, 100, 200);

6.MappedByteBuffer are direct. load( )將整個文件加載到內(nèi)存(改方法不能保證完成)。force( )將數(shù)據(jù)flush到硬盤。

7.未綁定端口的DatagramChannel系統(tǒng)會自動分配端口。DatagramChannel的connect(),將保證只接受指定源地址的數(shù)據(jù)包。這時候,可以使用普通的read和write方法,包括Scatter/Gather

希望本文所述對大家的java程序設(shè)計有所幫助。

相關(guān)文章

  • 淺談Java自定義類加載器及JVM自帶的類加載器之間的交互關(guān)系

    淺談Java自定義類加載器及JVM自帶的類加載器之間的交互關(guān)系

    這篇文章主要介紹了淺談Java自定義類加載器及JVM自帶的類加載器之間的交互關(guān)系,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Spring中事務(wù)管理方案和事務(wù)管理器及事務(wù)控制的API詳解

    Spring中事務(wù)管理方案和事務(wù)管理器及事務(wù)控制的API詳解

    這篇文章主要介紹了Spring中事務(wù)管理方案和事務(wù)管理器及事務(wù)控制的API詳解,事務(wù)管理是指對事務(wù)進(jìn)行管理和控制,以確保事務(wù)的正確性和完整性,事務(wù)管理的作用是保證數(shù)據(jù)庫的數(shù)據(jù)操作的一致性和可靠性,需要的朋友可以參考下
    2023-08-08
  • 淺析Java中Map與HashMap,Hashtable,HashSet的區(qū)別

    淺析Java中Map與HashMap,Hashtable,HashSet的區(qū)別

    HashMap和Hashtable兩個類都實現(xiàn)了Map接口,二者保存K-V對(key-value對);HashSet則實現(xiàn)了Set接口,性質(zhì)類似于集合
    2013-09-09
  • java并發(fā)無鎖多線程單線程示例詳解

    java并發(fā)無鎖多線程單線程示例詳解

    這篇文章主要為大家介紹了java并發(fā)無鎖多線程單線程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • 你知道Java判斷字符串是否為數(shù)字的多種方式嗎

    你知道Java判斷字符串是否為數(shù)字的多種方式嗎

    在編程的時候經(jīng)常遇到要判斷一個字符串中的字符是否是數(shù)字(0-9),所以下面這篇文章主要給大家介紹了關(guān)于Java判斷字符串是否為數(shù)字的多種方式,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • Java編寫時間工具類ZTDateTimeUtil的示例代碼

    Java編寫時間工具類ZTDateTimeUtil的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用Java編寫時間工具類ZTDateTimeUtil,文中的示例代碼講解詳細(xì),有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • Java this關(guān)鍵字的使用詳解

    Java this關(guān)鍵字的使用詳解

    this 關(guān)鍵字是 Java 常用的關(guān)鍵字,可用于任何實例方法內(nèi)指向當(dāng)前對象,也可指向?qū)ζ湔{(diào)用當(dāng)前方法的對象,或者在需要當(dāng)前類型對象引用時使用
    2021-11-11
  • Netty與NIO超詳細(xì)講解

    Netty與NIO超詳細(xì)講解

    Netty本質(zhì)上是一個NIO的框架,適用于服務(wù)器通訊相關(guān)的多種應(yīng)用場景。底層是NIO,NIO底層是Java?IO和網(wǎng)絡(luò)IO,再往下是TCP/IP協(xié)議,下面我們跟隨文章來詳細(xì)了解
    2022-08-08
  • 淺談如何在項目中使用Spring Cloud Alibaba Sentinel組件

    淺談如何在項目中使用Spring Cloud Alibaba Sentinel組件

    隨著微服務(wù)的流行,服務(wù)和服務(wù)之間的穩(wěn)定性變得越來越重要。本文主要介紹了使用Spring Cloud Alibaba Sentinel組件,感興趣的可以了解一下
    2021-07-07
  • SpringBootTest單元測試報錯的解決方案

    SpringBootTest單元測試報錯的解決方案

    這篇文章主要介紹了SpringBootTest單元測試報錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09

最新評論