栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java中File.exists有多昂贵

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中File.exists有多昂贵

首次执行此操作的方式完全取决于文件系统。这是由操作系统完成的,而Java则没有任何作用。

在性能方面,在所有情况下都需要读取磁盘。通常需要8到12毫秒。@Sven指出某些存储可能会变慢,但是在性能很重要的情况下这种情况很少见。如果这是网络文件系统,则可能会有额外的延迟(通常比较小,但这取决于您的网络延迟)。

相比之下,OS和Java所做的其他一切都很简短。

但是,如果您检查文件重复存在,则可能不需要磁盘访问权限,因为可以缓存信息,在这种情况下,操作系统需要花费时间和资源。File.exists()创建的对象中最大的对象之一(您不会认为),但是在每次创建大量对象的调用中,它都会对文件名进行编码。如果将File.exists()置于紧密循环中,则每秒可能会产生400MB的垃圾。:(

日记文件系统通过跟踪对文件系统所做的所有更改来以不同的方式工作,但是它们不会改变您读取文件系统的方式。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/569624.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号