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

java7 新I/O知識點詳解

 更新時間:2019年11月24日 11:16:35   投稿:laozhang  
在本篇文章里小編給大家整理的是關(guān)于java7 新I/O知識點詳解,有需要的朋友們可以學(xué)習(xí)下。

本章重點是Java語言中改變較大的I/O API,被稱為“再次更新的I/O”或NIO.2(即JSR-203)。NIO.2是一組新的類和方法,主要存在于java.nio包內(nèi)。下面來看一下它的優(yōu)點。

  • 它完全取代了java.io.File與文件系統(tǒng)的交互。
  • 它提供了新的異步處理類,讓你無需手動配置線程池和其他底層并發(fā)控制,便可在后臺線程中執(zhí)行文件和網(wǎng)絡(luò)I/O操作。
  • 它引入了新的Network-Channel構(gòu)造方法,簡化了套接字(Socket)與通道的編碼工作。

先看案例。老板讓你寫個程序,要掃描生產(chǎn)服務(wù)器上的所有目錄,找出曾經(jīng)用各種讀/寫和所有者權(quán)限寫入過的所有properties文件。對于Java 6(及更低版本)而言,這幾乎是不可能完成的任務(wù),因為:

  • 沒有直接支持目錄樹導(dǎo)航的類或方法;
  • 沒辦法檢測和處理符號鏈接;
  • 用簡單操作讀不出文件的屬性(比如可讀、可寫或可執(zhí)行)。

符號鏈接是一種特殊類型的文件,指向文件系統(tǒng)中的另外一個文件或位置——你可以把它理解為快捷方式。

用Java 7的NIO.2 API可以完成這個不可能的編程任務(wù),它支持目錄樹的直接導(dǎo)航(Files.walkFileTree(),2.3.1節(jié))、符號鏈接(Files.isSymbolicLink(),代碼清單2-4),能用一行代碼讀取文件屬性(Files.readAttributes(),2.4.3節(jié))。

除此之外,老板還要求你在讀取這些properties文件時不能打斷主程序的處理流程。可最小的properties文件也有1MB,讀取這些文件很可能打斷程序的主流程!面對這一要求,在Java 5/6的時代,你很可能會用java.util.concurrent包中的類創(chuàng)建線程池和工作線程隊列,再用單獨的后臺線程讀取文件。我們在第4章將會討論到,現(xiàn)在Java中的并發(fā)仍然相當(dāng)困難,并且非常容易出錯。借助Java 7和NIO.2 API,你可以用新的AsynchronousFileChannel(2.5節(jié)),不用指定工作線程或隊列就可以在后臺讀取大型文件。咻!

這個新API非常有用,盡管它不能幫你沖咖啡,但它的發(fā)展趨勢可在那兒擺著呢。

第一個趨勢是對其他數(shù)據(jù)存儲方法的探索,特別是在非關(guān)系或大數(shù)據(jù)集領(lǐng)域。你可能很快就會遇到讀寫大文件(比如微博上的大型報告文件)的問題。NIO.2可以幫助你用一種異步、有效的方式讀寫大文件,還能利用底層操作系統(tǒng)的特性。

第二個趨勢是多核CPU的發(fā)展,使得真正并發(fā)且更快的I/O成為可能。并發(fā)是個難以掌握的領(lǐng)域2,但NIO.2會助你一臂之力,它為多線程文件和套接字訪問的應(yīng)用提供了一個簡單的抽象層。即便你不直接使用這些特性,它們也會對你的編程生涯產(chǎn)生極大影響,因為IDE、應(yīng)用服務(wù)器和各種流行的框架會大量應(yīng)用這些特性。

深入探討了并發(fā)計算可能給你的編程生涯帶來的微妙復(fù)雜性。

這些只是NIO.2會對你有哪些幫助的例子。如果NIO.2可以解決你眼下面臨的一些問題,本章的內(nèi)容就是為你準(zhǔn)備的!否則,你

可以在接到Java I/O 任務(wù)時再回來。

本章你會體驗到Java 7新I/O的能力,以便你能夠開始編寫基于NIO.2的代碼,并有信心探索新的API。除此之外,這些API還使用了一些第1章提到的特性,這證明Java 7確實會使用自己的特性。

將try-with-resources和NIO.2中的新API結(jié)合起來可以寫出非常安全的I/O程序,這在Java中還是破天荒的第一次!

我們覺得你很可能會用到新的文件I/O能力,所以本章會非常詳細地介紹。你需要從了解新的文件系統(tǒng)抽象層開始,即先了解Path和它的輔助類。在Path之上,你會接觸到常用的文件系統(tǒng)操作,比如復(fù)制和移動文件。

以上就是本次介紹JAVA7 I/O全部知識點,感謝大家的學(xué)習(xí)和對腳本之家的支持。

相關(guān)文章

  • IDEA2020.1常用配置說明

    IDEA2020.1常用配置說明

    這篇文章主要介紹了IDEA2020.1常用配置說明,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • spring boot中使用http請求的示例代碼

    spring boot中使用http請求的示例代碼

    本篇文章主要介紹了spring boot中 使用http請求的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • java實現(xiàn)簡單掃雷游戲

    java實現(xiàn)簡單掃雷游戲

    這篇文章主要為大家詳細介紹了java實現(xiàn)簡單掃雷游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • Java日常練習(xí)題,每天進步一點點(9)

    Java日常練習(xí)題,每天進步一點點(9)

    下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-07-07
  • Java中匿名類的兩種實現(xiàn)方式

    Java中匿名類的兩種實現(xiàn)方式

    本文主要介紹了Java中匿名類的兩種實現(xiàn)方式。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • Spring?Security實現(xiàn)添加圖片驗證功能

    Spring?Security實現(xiàn)添加圖片驗證功能

    這篇文章主要為大家介紹了Spring?Security實現(xiàn)添加圖片驗證功能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • Java微信跳一跳操作指南

    Java微信跳一跳操作指南

    這篇文章主要為大家詳細介紹了Java微信跳一跳操作指南,通過adb來控制手機進行操作,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • idea集成shell運行環(huán)境以及shell輸出中文亂碼的解決

    idea集成shell運行環(huán)境以及shell輸出中文亂碼的解決

    這篇文章主要介紹了idea集成shell運行環(huán)境以及shell輸出中文亂碼的解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Java?方法的重載與參數(shù)傳遞詳解

    Java?方法的重載與參數(shù)傳遞詳解

    在java中,方法就是用來完成解決某件事情或?qū)崿F(xiàn)某個功能的辦法。方法實現(xiàn)的過程中,會包含很多條語句用于完成某些有意義的功能——通常是處理文本,控制輸入或計算數(shù)值,這篇文章我們來探究一下方法的重載與傳參
    2022-04-04
  • finally 一定會執(zhí)行(實例代碼)

    finally 一定會執(zhí)行(實例代碼)

    下面小編就為大家?guī)硪黄猣inally 一定會執(zhí)行(實例代碼)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07

最新評論