此规则会标记是否使用了 java.nio.channels.FileChannel.lock() 设置。 在 Java SE 6 中, lock() 方法现在抛出 java.nio.channels.OverlappingFileLockException .
此规则将标记 lock() 不具有 try/catch 块的方法 OverlappingFileLockException 或者如果周围方法不抛出 OverlappingFileLockException .
示例 1:
示例 2:
示例 3:
在示例 1 中, fc.lock() 呼叫将被标记。
在示例 2 中, super.lock() 呼叫将被标记。
在示例 3 中,不会标记任何内容,因为 doX() 方法已抛出 OverlappingFileLockException 和 doY() 方法捕获 OverlappingFileLockException .
Java SE 6 添加了系统属性 sun.nio.ch.disableSystemWideOverlappingFileLockCheck 控制 java.nio.channels.FileChannel.lock 文件检查行为。
有关其他信息,请参阅 Java SE 6 Compatibility 指南中的第 4 条。