旅行文件夹中DirectoryStream和File.list()之间的性能差异



DirectoryStream和File.list()之间有性能差异吗

我试着在Linux平台上调试这两个java程序,它使用了具有相同参数的getdents64系统调用。在我看来,两者的性能相同,但编程模式不同

您可能会发现这很有趣:

将java.io.File功能映射到java.nio.File

DirectoryStream的性能优势在于内存使用率,以及在列出目录时处理返回路径对象的能力,而不是构建完整的列表并将其存储在内存中,然后对其进行迭代。这在列出包含大量文件的目录或递归遍历目录树时是有益的。

更多信息请点击此处:http://blog.eyallupu.com/2011/11/java-7-working-with-directories.html

如果它们都调用同一个系统调用,为什么会有区别?遍历目录基本上是I/O绑定的。

最新更新