MappedByteBuffer中“put”和“force”的区别是什么

put()将数据存储在缓冲区中,force()通知操作系统将缓冲区刷新到磁盘。

put() 后,打开文件,也能看到文件中有数据,这是因为没有绕过操作系统,看到的是操作系统文件缓存里的内容,不是磁盘上的内容

可以断电或通过U盘写入,插拔来验证

@Test
public void MappedByteBufferTest() throws Exception {
int count = 10;
RandomAccessFile memoryMappedFile = new RandomAccessFile("D:\\1.txt", "rw"); MappedByteBuffer out = memoryMappedFile.getChannel().map(FileChannel.MapMode.READ_WRITE, 0, count); for (int i = 0; i < count; i++) {
out.put((byte) i);
}
out.force();
memoryMappedFile.close();
}

MappedByteBuffer 写文件的更多相关文章

  1. java写文件

                                  randomAccessFile.close();              }                  e.printStack ...

  2. 分享一个CQRS/ES架构中基于写文件的EventStore的设计思路

    最近打算用C#实现一个基于文件的EventStore. 什么是EventStore 关于什么是EventStore,如果还不清楚的朋友可以去了解下CQRS/Event Sourcing这种架构,我博客 ...

  3. Node.js写文件的三种方法

    Node.js写文件的三种方式: 1.通过管道流写文件 采用管道传输二进制流,可以实现自动管理流,可写流不必当心可读流流的过快而崩溃,适合大小文件传输(推荐) var readStream = fs. ...

  4. iOS持续写文件到本地

    NSString *tempSavePath = [NSString stringWithFormat:@"%@/Documents",kDocumentPath]; NSFile ...

  5. PHP写文件函数

    /** * 写文件函数 * * @param string $filename 文件名 * @param string $text 要写入的文本字符串 * @param string $openmod ...

  6. node基础07:写文件

    1.writeFile //server.js var http = require("http"); var writefile = require("./writef ...

  7. python 写文件,utf-8问题

    写文件报数据. 同样的编码. 含中文字段的输出文件 编码为utf-8 无中文的却是asc import codecstxt = u”qwer”file=codecs.open(“test”,”w”,” ...

  8. Java基础之写文件——将素数写入文件中(PrimesToFile)

    控制台程序,计算素数.创建文件路径.写文件. import static java.lang.Math.ceil; import static java.lang.Math.sqrt; import ...

  9. IAR MSP430如何生成烧写文件

    IAR生成430烧写方法有2种, 第一种是:将工程的debug模式切换成release模式,看图片操作.    那个.d43文件就是仿真调试模式的文件. 这里的test.txt文件就是烧写文件了,不要 ...

  10. java语言写文件内容

    import java.io.File;import java.io.FileWriter;import java.io.IOException; public static void main(St ...

随机推荐

  1. DataGrip安装与使用

    写在前面:同学们记得以命令为主,图形界面为辅.了解图形怎么操作即可 一.DataGrip软件的安装和初始化 首先在浏览器上搜索datagrip,然后打开连接 点击DOWNLOAD   按照你电脑系统来 ...

  2. MySQL-utf8 和 utf8mb4 区别?

    版权声明:原创作品,谢绝转载!否则将追究法律责任. ----- 作者:kirin 1.首先说明一下,版本问题.MySQL8.0之后默认:utf8mb4,而8.0之前默认:latin 2.utf8 和 ...

  3. 什么是RPC协议

    工作的时候,第一次接触CRPC协议,当时就很懵,啥是CRPC协议,一脸懵逼,于是就到网上去搜,填充知识空缺. 不少解释显得非常官方,我相信大家在各种平台上也都看到过,解释了又好像没解释,都在用一个我们 ...

  4. 介绍一个我开源的项目:一键部署 VictoriaMetrics 群集

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 我实在是非常喜欢这个强大的 metrics 监控组件 Vi ...

  5. 使用C++和QT实现Log自定义日志系统

    MyLog 说明 使用QT的qInstallMessageHandler函数结合qDebug,qInfo实现自定义的日志系统 输出日志到文件和控制台 自动检测日志文件大小 自动更新日志文件修改日期 自 ...

  6. c标签的使用问题

    这是在使用c标签的时候遇到的问题,发现在导入包成功的情况下,jsp页面代码也没有问题.在网页上查了查,发现需要修改tomcat中的 conf/catalina.properties文件. 将tomca ...

  7. teleport 服务端配置文件说明

    teleport 服务端配置文件说明 teleport配置文件位于/usr/local/teleport/data/etc目录下.服务器端包含两个配置文件: core.ini 和 web.ini,其中 ...

  8. Selenium浏览器属性、提取数据

    浏览器属性 在使用selenium过程中,实例化driver对象后,driver对象有一些常用的属性和方法 driver.page_source 当前标签页浏览器渲染之后的网页源代码. driver. ...

  9. Scrapy爬虫文件代码基本认识和细节解释

    import scrapy from scrapy.http.request import Request from scrapy.http.response.html import HtmlResp ...

  10. 文心一言 VS 讯飞星火 VS chatgpt (170)-- 算法导论13.2 3题

    三.用go语言,设在图 13-2 左边一棵树中,a.b和c 分别为子树a.β和γ中的任意结点.当结点 x 左旋之后,a.b和c 的深度会如何变化? 文心一言: 在二叉树中,左旋操作是改变节点的子节点顺 ...