ebe*_*rom 5 java linux synchronization fsync
fsync(2) 联机帮助页告诉如果同步文件,则明确需要同步目录。
io包中Java的sync方法怎么样?是在意那个吗?它是否取决于操作系统和/或文件系统?
我在http://docs.oracle.com/javase/7/docs/api/java/io/FileDescriptor.html#sync 中发现没有任何帮助...
手册fsync页指出,调用fsync文件并不意味着关联的目录也将被同步。如果需要,fsync必须调用目录。
我可以看到这个定义/行为的几个很好的理由:
抛开这些,让我们看看 Java 的定义/行为。
JavaDoc 没有提及任何与目录等相关文件系统对象有关的内容。FileDescriptor此外,我没有找到获取目录实例的方法。
根据其源代码查看 OpenJDK 实现的行为,只需在 UNIX 和Windows 上java.io.FileDescriptor.sync()触发一个。fsyncFlushFileBuffers
所以,不,java.io.FileDescriptor.sync()不会以任何方式影响关联的目录。
| 归档时间: |
|
| 查看次数: |
378 次 |
| 最近记录: |