真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Netty中流基礎(chǔ)知識點有哪些

本篇內(nèi)容介紹了“Netty中流基礎(chǔ)知識點有哪些”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

成都創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營銷,包括網(wǎng)站制作、做網(wǎng)站、SEO優(yōu)化、網(wǎng)絡(luò)推廣、整站優(yōu)化營銷策劃推廣、電子商務(wù)、移動互聯(lián)網(wǎng)營銷等。成都創(chuàng)新互聯(lián)為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制及解決方案,成都創(chuàng)新互聯(lián)核心團隊十多年專注互聯(lián)網(wǎng)開發(fā),積累了豐富的網(wǎng)站經(jīng)驗,為廣大企業(yè)客戶提供一站式企業(yè)網(wǎng)站建設(shè)服務(wù),在網(wǎng)站建設(shè)行業(yè)內(nèi)樹立了良好口碑。

1、IO、NIO、AIO 含義區(qū)別

一、同步阻塞I/O(BIO block io)

    jdk1.4之前就一個io流,服務(wù)器實現(xiàn)模式為一個連接一個線程,即客戶端有連接請求時服務(wù)器就需要啟動一個線程進
行處理,如果這個連接不做任何事情會造成不必要的線程開銷,可以通過線程池機制來改善。BIO方式適用于連接數(shù)目比較
小且固定的架構(gòu),這種方式對服務(wù)端資源要求比較高,并發(fā)局限于應(yīng)用中。

二、 同步非阻塞I/O(NIO)

    Java NIO(New IO)是從Java 1.4版本開始引入的 一個新的IO API,可以替代標(biāo)準(zhǔn)的Java IO API。 NIO與原來
的IO有同樣的作用和目的,但是使用 的方式完全不同,NIO支持面向緩沖區(qū)的、基于 通道的IO操作。NIO將以更加高效的方
式進行文 件的讀寫操作。

三、異步非阻塞I/O(AIO)

    異步非阻塞I/O,服務(wù)器實現(xiàn)模式為一個有效請求一個線程,客戶端的IO請求都是由操作系統(tǒng)先完成了再通知服務(wù)器用其
啟動線程進行處理。AIO方式適用于連接數(shù)目多且連接比較長(重操作)的架構(gòu),比如相冊服務(wù)器,充分調(diào)用OS參與并發(fā)操作,
編程比較復(fù)雜,jdk1.7開始支持。

四、同步與異步的區(qū)別

同步:一個人只能先上完小學(xué)才能上初中,上完初中才能上高中,最后才可以大學(xué),一步一步來,這是同步。異步:一個人可以一邊聽歌,也可以一邊玩游戲,兩種動作可以同時進行

五、NIO與IO的區(qū)別

Netty中流基礎(chǔ)知識點有哪些

2、NIO的核心

1、定義

    client(客戶端)和server(服務(wù)端),把數(shù)據(jù)client傳送到server,或者server傳送到client,就相當(dāng)于怎么上?;疖囌?
的人群運輸?shù)奖本┗疖囌?,或者北京車站運輸?shù)缴虾;疖囌尽?
channel:北京上海之間的鐵軌
buffer: 火車(可以有多個型號的火車)

2.1 Buffer(緩沖區(qū))

    在Java NIO中負(fù)責(zé)數(shù)據(jù)的存取,緩沖區(qū)就是數(shù)組,用于存儲不同數(shù)據(jù)類型的數(shù)據(jù),根據(jù)數(shù)據(jù)類型不同,提供了響應(yīng)
類型的緩沖區(qū):ByteBuffer、CharBuffer、ShortBuffer、IntBuffer、LongBuffer、FloatBuffer、
DoubleBuffer,通過 allocate() 獲取緩沖區(qū)。

2.2 Channel(通道)

    Channel類似于傳送的流,只不過Channel本身不能直接訪問數(shù)據(jù),Channel只能與Buffer進行交互,簡
而言之,Channel 負(fù)責(zé)傳輸, Buffer 負(fù)責(zé)存儲。
3、Path 與 Paths

一、Path

booleanendsWith(Stringpath)判斷是否以path路徑結(jié)束
booleanstartsWith(Stringpath)判斷是否以path路徑開始
boolean isAbsolute()判斷是否是絕對路徑
PathgetFileName()返回與調(diào)用Path對象關(guān)聯(lián)的文件名
Path getName(int idx)返回的指定索引位置 idx 的路徑名稱
intgetNameCount()返回Path根目錄后面元素的數(shù)量
PathgetParent()返回Path對象包含整個路徑,不包含Path對象指定的文件路徑
PathgetRoot()返回調(diào)用Path對象的根路徑
Path resolve(Path p)將相對路徑解析為絕對路徑
PathtoAbsolutePath()作為絕對路徑返回調(diào)用Path對象
StringtoString()返回調(diào)用Path對象的字符串表示形式
  

二、Paths

java.nio.file.Files 用于操作文件或目錄的工具類。

方法描述
Path get(String first, String ... more)Paths提供的get()方法用來獲取Path對象,用于將多個字符串串連成路徑
Path copy(Path src, Path dest, CopyOption ... how)文件的復(fù)制
Path createDirectory(Path path, FileAttribute ... attr)創(chuàng)建一個目錄
Path createFile(Path path, FileAttribute ... arr)創(chuàng)建一個文件
void delete(Path path)刪除一個文件
Path move(Path src, Path dest, CopyOption...how)將 src 移動到 dest 位置 ? long size(Path path) : 返回 path 指定文件的大小
boolean exists(Path path, LinkOption ... opts)判斷文件是否存在
boolean isDirectory(Path path, LinkOption ... opts)判斷是否是目錄
boolean isExecutable(Path path)判斷是否是可執(zhí)行文件
boolean isHidden(Path path)判斷是否是隱藏文件
boolean isReadable(Path path)判斷文件是否可讀
boolean isWritable(Path path)判斷文件是否可寫
 boolean notExists(Path path, LinkOption ... opts)判斷文件是否不存在

三、Files操作內(nèi)容方法

SeekableByteChannel newByteChannel(Path path, OpenOption...how)

獲取與指定文件的連接,how 指定打開方式。

DirectoryStream newDirectoryStream(Path path)打開 path 指定的目錄
InputStream newInputStream(Path path, OpenOption...how)獲取 InputStream 對象
OutputStream newOutputStream(Path path, OpenOption...how)獲取 OutputStream 對象
4、使用IO讀寫操作

1、讀取

@Test
public void readeFile() {
   FileInputStream input = null;
   String result = "";
   try {
      //1.根據(jù)path實例化一個輸入流的對象
      input = new FileInputStream("/Users/tentsuuhou/Desktop/潛臺詞.txt");
      //2.返回這個輸入流中可以被讀的剩下的bytes字節(jié)的估計值;
      int size = input.available();
      //3.根據(jù)輸入流的字節(jié)創(chuàng)建一個byte數(shù)組
      byte[] array = new byte[size];
      //4.把數(shù)據(jù)讀取到byte數(shù)組中
      input.read(array);
      //5.根據(jù)獲取的byte數(shù)組新建一個字符串,然后輸出
      result = new String(array);
      System.out.println(result);
   } catch (FileNotFoundException e) {
      e.printStackTrace();
   } catch (IOException e) {
      e.printStackTrace();
   } finally {
      if(input != null){
         try {
            input.close();
         } catch (IOException e) {
            e.printStackTrace();
         }
      }
   }
}

2、寫入

@Test
public void writeFile() {

   FileOutputStream out = null;
   String content = "我愛開源中國";
   try {
      //1.根據(jù)路徑創(chuàng)建輸出流對象
      out = new FileOutputStream("/Users/tentsuuhou/Desktop/777.txt") ;
      //2.把String字符串轉(zhuǎn)換成byte數(shù)組;
      byte[] b = content.getBytes();
      //3.把byte數(shù)組輸出
      out.write(b);
   } catch (FileNotFoundException e) {
      e.printStackTrace();
   } catch (IOException e) {
      e.printStackTrace();
   } finally {
      if(out != null) {
         try {
            out.close();
         } catch (IOException e) {
            e.printStackTrace();
         }
      }
   }
}

“Netty中流基礎(chǔ)知識點有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!


本文標(biāo)題:Netty中流基礎(chǔ)知識點有哪些
文章URL:http://weahome.cn/article/ggggcp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部