MacOS的Java平台上WatchService的状态是什么?
似乎没有研究7和8。
在以后的版本中解决了吗?我们现在13岁了。
据我所知,它可以在带有OpenJDK 8的MacOS上运行。
/tmp$ java DirectoryWatcherExample
Event kind:ENTRY_CREATE. File affected: test.txt.
Event kind:ENTRY_DELETE. File affected: test.txt.
Event kind:ENTRY_CREATE. File affected: test.txt.
Event kind:ENTRY_MODIFY. File affected: test.txt.
Event kind:ENTRY_DELETE. File affected: test.txt.
/tmp$ java -version
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.232-b09, mixed mode)
/tmp$ uname -v
Darwin Kernel Version 18.7.0: Sat Oct 12 00:02:19 PDT 2019; root:xnu-4903.278.12
~1/RELEASE_X86_64
您可以尝试使用DirectoryWatcherExample.java中的代码
原始资料:Java NIO2中的WatchService指南
JDK似乎实现了一种称为kevent的机制,该机制是基于OpenBSD / solaris的系统的通知机制。我没有搜索汞库的经验,因此,我能找到的最好的是一个只读的JDK8源代码,它显示了kqueue的实现。
Kqueue.java
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。