最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android設(shè)備如何保證數(shù)據(jù)同步寫(xiě)入磁盤(pán)的實(shí)現(xiàn)

 更新時(shí)間:2019年09月05日 14:08:50   作者:天涯yy的悲傷  
這篇文章主要介紹了Android設(shè)備如何保證數(shù)據(jù)同步寫(xiě)入磁盤(pán)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

在一些特定的工作場(chǎng)景中,我們把數(shù)據(jù)及時(shí)寫(xiě)出磁盤(pán),而不是暫時(shí)保存在系統(tǒng)的文件緩存區(qū),防止掉電導(dǎo)致數(shù)據(jù)丟失

/**
 * Force all system buffers to synchronize with the underlying
 * device. This method returns after all modified data and
 * attributes of this FileDescriptor have been written to the
 * relevant device(s). In particular, if this FileDescriptor
 * refers to a physical storage medium, such as a file in a file
 * system, sync will not return until all in-memory modified copies
 * of buffers associated with this FileDescriptor have been
 * written to the physical medium.
 *
 * sync is meant to be used by code that requires physical
 * storage (such as a file) to be in a known state For
 * example, a class that provided a simple transaction facility
 * might use sync to ensure that all changes to a file caused
 * by a given transaction were recorded on a storage medium.
 *
 * sync only affects buffers downstream of this FileDescriptor. If
 * any in-memory buffering is being done by the application (for
 * example, by a BufferedOutputStream object), those buffers must
 * be flushed into the FileDescriptor (for example, by invoking
 * OutputStream.flush) before that data will be affected by sync.
 *
 * @exception SyncFailedException
 *    Thrown when the buffers cannot be flushed,
 *    or because the system cannot guarantee that all the
 *    buffers have been synchronized with physical media.
 * @since   JDK1.1
 */
public native void sync() throws SyncFailedException;

可能一看到這個(gè)場(chǎng)景,很多人會(huì)想到數(shù)據(jù)庫(kù)的事務(wù),查看Android數(shù)據(jù)庫(kù)sqlite的源碼可以看到,數(shù)據(jù)庫(kù)事務(wù)只能保證n個(gè)操作,要么都執(zhí)行,要么都不執(zhí)行。數(shù)據(jù)庫(kù)事務(wù)在所有操作完成后,會(huì)提醒文件系統(tǒng)與磁盤(pán)同步,但是不會(huì)等到所有系統(tǒng)緩沖區(qū)與磁盤(pán)同步完成才返回!

  FileDescriptor.getFd().sync();會(huì)強(qiáng)制所有系統(tǒng)緩沖區(qū)與磁盤(pán)同步
File file = new File("/sdcard/a.txt");
    try {
      FileOutputStream outputStream = new FileOutputStream(file);
      outputStream.write("kuangxf".getBytes());
      outputStream.flush();
      //強(qiáng)制文件系統(tǒng)刷新
      outputStream.getFD().sync();
    } catch (Exception e) {
      e.printStackTrace();
    }

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解java注解相關(guān)知識(shí)

    詳解java注解相關(guān)知識(shí)

    今天給大家?guī)?lái)的是關(guān)于Java的相關(guān)知識(shí),文章圍繞著java注解的使用展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • SpringBoot實(shí)現(xiàn)接口文檔自動(dòng)生成的方法示例

    SpringBoot實(shí)現(xiàn)接口文檔自動(dòng)生成的方法示例

    在開(kāi)發(fā)Web應(yīng)用程序時(shí),接口文檔是非常重要的一環(huán),本文主要介紹了SpringBoot實(shí)現(xiàn)接口文檔自動(dòng)生成的方法示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • Java基礎(chǔ)之String類(lèi)使用與字符串比較

    Java基礎(chǔ)之String類(lèi)使用與字符串比較

    String類(lèi)代表字符串,java程序中的所有字符串文字(例如"abc")都被實(shí)現(xiàn)為此類(lèi)的實(shí)例。本文將詳解String類(lèi)的使用,以及如何進(jìn)行字符串比較
    2022-08-08
  • 基于java ssm springboot+mybatis酒莊內(nèi)部管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)

    基于java ssm springboot+mybatis酒莊內(nèi)部管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了java ssm springboot+mybatis實(shí)現(xiàn)酒店管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • JavaWeb中的Cookie和Session解讀

    JavaWeb中的Cookie和Session解讀

    這篇文章主要介紹了JavaWeb中的Cookie和Session解讀,Cookie是servlet發(fā)送到Web瀏覽器的少量信息,該信息由瀏覽器保存,然后發(fā)送回服務(wù)器,一般情況下,Cookie是以鍵值對(duì)進(jìn)行表示的,Cookie的值可以唯一地標(biāo)識(shí)客戶(hù)端,因此Cookie常用于會(huì)話管理,需要的朋友可以參考下
    2023-10-10
  • SpringBoot如何配置數(shù)據(jù)庫(kù)主從shardingsphere

    SpringBoot如何配置數(shù)據(jù)庫(kù)主從shardingsphere

    這篇文章主要介紹了SpringBoot如何配置數(shù)據(jù)庫(kù)主從shardingsphere問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Java的Lambda表達(dá)式和Stream流的作用以及示例

    Java的Lambda表達(dá)式和Stream流的作用以及示例

    這篇文章主要介紹了Java的Lambda表達(dá)式和Stream流簡(jiǎn)單示例,Lambda允許把函數(shù)作為一個(gè)方法的參數(shù),使用Lambda表達(dá)式可以寫(xiě)出更簡(jiǎn)潔、更靈活的代碼,而其作為一種更緊湊的代碼風(fēng)格,使Java的語(yǔ)言表達(dá)能力得到了提升,需要的朋友可以參考下
    2023-05-05
  • Java Lambda表達(dá)式詳解和實(shí)例

    Java Lambda表達(dá)式詳解和實(shí)例

    這篇文章主要介紹了Java Lambda表達(dá)式詳細(xì)介紹,從簡(jiǎn)單的到復(fù)雜的實(shí)例講解,需要的朋友可以參考下
    2014-05-05
  • Java線程之程安全與不安全代碼示例

    Java線程之程安全與不安全代碼示例

    這篇文章主要介紹了Java線程之程安全與不安全代碼示例,還是比較不錯(cuò)的,這里分享給大家,供需要的朋友參考。
    2017-11-11
  • Java簡(jiǎn)單計(jì)算圓周率完整示例

    Java簡(jiǎn)單計(jì)算圓周率完整示例

    這篇文章主要介紹了Java簡(jiǎn)單計(jì)算圓周率,結(jié)合完整實(shí)例形式分析了Java計(jì)算圓周率的原理與操作技巧,代碼備有較為詳盡的注釋便于理解,需要的朋友可以參考下
    2018-05-05

最新評(píng)論

平果县| 宿松县| 思茅市| 阳谷县| 富蕴县| 巴东县| 遂昌县| 河池市| 龙泉市| 玉林市| 旬阳县| 乌拉特前旗| 沛县| 云浮市| 丹凤县| 正蓝旗| 龙江县| 阳曲县| 云霄县| 获嘉县| 台南县| 望奎县| 榆林市| 喀喇沁旗| 龙川县| 叙永县| 香港| 丰台区| 左权县| 明水县| 瑞丽市| 鸡泽县| 金湖县| 隆化县| 罗江县| 岗巴县| 新津县| 陆河县| 济南市| 四平市| 惠水县|