当前位置: 首页 > 面试题库 >

在Eclipse上,“首选项->常规->工作区->使用本机钩子或轮询刷新”有什么作用?

宋飞文
2023-03-14
问题内容

Eclipse上有此复选框:

首选项->常规->工作区->使用本机挂钩或轮询刷新

在Eclipse文档说:

如果启用此选项,则将使用本机刷新提供程序(在Windows上)或轮询机制自动将工作空间资源与其在文件系统中的相应资源同步。

从文档和复选框说明可以看出,Eclipse使用了某种OS挂钩来获取有关文件更改的通知。而且似乎该功能在Windows以外的其他操作系统上使用轮询进行了仿真。

我的问题是:

  1. 这真的是Eclipse在做什么吗?我想知道是否通过选中此选项来让我的线程不断检查文件系统。我的文件从外部进行更改,但是每天要进行4次更改,并且要使此功能对程序员来说很好看,轮询必须每分钟左右检查一次文件系统。
  2. 那真的只在Windows上有效吗?如果我在Linux上使用Eclipse,是否一定意味着Eclipse将进入轮询模式?
  3. 最后,更重要的是,如果Eclipse做到了,那它怎么做呢?JNI?

问题答案:

是的,这确实是Eclipse所做的。对于Mac或Linux,它当前使用轮询。

有一个扩展点org.eclipse.core.resources.refreshProviders可用于为每个平台提供刷新代码,人们已经为Mac和Linux编写了测试插件,但它们不在产品中(请参阅https://bugs.eclipse.org/bugs/show_bug。
cgi?id =
108697

和https://bugs.eclipse.org/bugs/show_bug.cgi?id=237344)

其来源是org.eclipse.core.internal.refresh.MonitorManagerPollingMonitor是否刷新轮询。

org.eclipse.core.internal.resources.refresh.win32.Win32RefreshProvider
Windows是否通过JNI使用本机方法刷新(它仅在Windows插件中)。

org.eclipse.core.internal.resources.refresh.win32.Win32MonitorWin32Natives包含核心代码。



 类似资料:
  • 我试图在提交时触发一个钩子文件,但这在EGIT中不起作用。如果我使用git bash或tortoisegit,将执行相同的钩子文件。我在安装中丢失了什么吗?如何修复此问题。我感谢您的帮助。为了您的信息,以下是我的eclipse和eclipse git插件[EGIT]的详细信息

  • 首先,我使用的是Ubuntu12.04,Eclipse Juno和maven 3.0.4(m2eclipse),我必须在一个从SVN存储库中获得的遗留项目中工作。

  • 本文向大家介绍npm提供了哪些钩子?各有什么作用?相关面试题,主要包含被问及npm提供了哪些钩子?各有什么作用?时的应答技巧和注意事项,需要的朋友参考一下 npm 拥有以下的钩子命令:对于任何在 package.json 的 scripts 字段中定义的命令,可以通过 pre 以及 post 名称前缀,额外定义该任务在执行前、后的额外执行的钩子命令。例如: { "scripts": { "prem

  • 问题内容: 我可以看到-prune 无法正常工作。我猜选项应该选择(或查找)除名称正确的文件以外的所有文件? 还是我理解错误? 我执行的命令: 期望值 :选择当前目录()中除名称* efence以外的所有文件。 请帮我理解 问题答案: 尝试 如果未指定其他选项,则该选项 会 打印匹配的文件(但是,它仍然阻止递归到匹配的目录中)。 编辑添加说明: 表达式区分和。来自: 该表达式由选项(影响整体操作而

  • 我已经使用SOF很长时间了,但从来没有问过一个问题。今天我在Firefox的网站上,注意到它谈到了px和%就好像它已经过时了。该网站建议使用ViewHeight和view width或view像素(vh和vi或vpx)。用... 而且 ..????他们为什么要做出改变?