释放Java 7 WatchService的资源

2024-04-18

我正在使用 Java 7 WatchService 来监视目录。我不断地改变我正在观看的目录。我遇到了异常:

java.io.IOException:已达到网络 BIOS 命令限制。

50 个目录之后。我确信在创建新的 WatchService 之前,我会在创建的每个 WatchService 上调用 close() 。

有谁知道释放 WatchService 的正确方法,这样您就不会遇到此限制?

Thanks,

Dave


我觉得all你需要做的是close()服务。我知道你说过你认为你已经这样做了,但我怀疑你错过了一些。例如,在出现异常的情况下,您可能无法关闭服务实例。您应该将 WatchService 实例视为其他 IO 资源,并在 finally 块中将其关闭;例如

WatchService ws = ...
try {
    // use it ...
} finally {
    ws.close();
}

或使用 Java 7“尝试资源”语法。

try (WatchService ws = ...) {
    // use it ...
}

当。。。的时候WatchService关闭后,它应该立即释放它所拥有的任何操作系统级资源。


唯一的另一种可能性是您在WatchService执行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

释放Java 7 WatchService的资源 的相关文章

  • 通过 WebStart 运行时 Java 7 更新 55 JacORB 错误

    自从更新到 Java 7 update 55 以来 我无法运行我的 WebStart java 应用程序 当通过 WebStart 启动时 该应用程序在 Java 7 update 51 下运行良好 当在 WebStart 之外启动时 它还
  • 如何在java中以编程方式访问网页

    有一个网页 我想从中检索某个字符串 为此 我需要登录 单击一些按钮 填充文本框 单击另一个按钮 然后就会出现字符串 我怎样才能编写一个java程序来自动执行此操作 是否有任何有用的库用于此目的 Thanks Try HtmlUnit htt
  • 如何生成源代码来创建我正在调试的对象?

    我的典型场景 我处理的遗留代码有一个错误 只有生产中的客户端才会遇到 我附加了一个调试器并找出如何重现该问题their系统给定their输入 但是 我还不知道为什么会发生错误 现在我想在本地系统上编写一个自动化测试来尝试重现然后修复错误 最
  • Java ASN.1 编译器

    现在我正在使用二进制笔记 http bnotes sourceforge net 解析 ASN 1 文件以在 Java 项目中使用 它采用 ASN 1 定义并生成 Java 类 让我可以操作 ASN 1 文件 我用扩展标记碰壁了 因为它不支
  • 如何在线程和小程序中使用双缓冲

    我有一个关于何时调用绘制和更新方法的问题 我有游戏小程序 我想在其中使用双缓冲 但我无法使用它 问题是 在我的游戏中 有一个球在 run 方法内移动 我想知道如何使用双缓冲来交换屏幕外图像和当前图像 请有人帮忙 当同时存在 update 和
  • Java中单击和双击的区别

    我搜索论坛并看到以下代码 public void mouseClicked MouseEvent e if e getClickCount 2 System out println and it s a double click wasDo
  • json文件格式的升级路径

    我们将 Java 应用程序的用户首选项存储在 JSON 文件中 使用Jackson http jackson codehaus org 随着我们继续开发该应用程序 我们将添加首选项 重命名首选项并删除过时的首选项 当用户将应用程序升级到下一
  • 我可以直接在 Maven 中使用 GitHub 项目吗?

    我有兴趣使用GitHub 上的项目 https github com toelen spymemcached jcache作为我的项目中的依赖项 GitHub 项目有一个pom文件 我可以修改我的pom文件来使用这个项目 如果是这样 怎么办
  • Windows:如何获取所有可见窗口的列表?

    无论如何都要使用相关技术重新标记 我不知道它们是什么 稍后我可能会提出更详细的问题 关于具体细节 但现在我正在尝试掌握 大局 我正在寻找一种方法来枚举 Windows 上的 真实可见窗口 我所说的 真正可见的窗口 就是指 用户所说的 窗口
  • Jersey/JAX-RS:如何自动使用@Valid递归级联bean验证?

    我正在 Jersey 的 REST 资源端点中验证我的 POJO public class Resource POST public Response post NotNull Valid final POJO pojo public cl
  • 从 API Explorer 调用 API 方法时不允许使用范围

    我在 Google App Engine 中有一个奇怪的行为 我正在使用 Eclipse 和 Java 进行开发 特别是使用 Google Cloud Endpoints 我使用以下设置创建了一个示例 API 实际上 我正在使用许多其他示波
  • 了解 Etc/GMT 时区

    Apple 在从 App Store 返回自动续订订阅收据时使用 Etc GMT 时区的理由是什么 Etc GMT 时区到底是什么 Java SDK 能理解这个时区吗 或者我是否必须使用其他第三方库 例如乔达时间 http www joda
  • 是否可以将自定义清单添加到 Netbeans 6.7.1 中编译的 Java 库中?

    我尝试添加manifest file src dir manifest mf到project properties 但是查看build impl xml我发现manifest available通常伴随着main class条件 所以这让我
  • Java基于参数的同步(名为互斥锁/锁)

    我正在寻找一种根据接收到的参数来同步方法的方法 如下所示 public synchronized void doSomething name some code 我想要方法doSomething同步基于name参数如下 线程 1 doSom
  • DOM 中不再存在缓存元素

    就像在类似的问题中一样 我使用appium java 尝试选择元素 在移动应用程序中 我要转到页面 之后有许多元素 android widget ImageView 0 我需要选择 6 个 例如 这样的元素并执行其他步骤 Byt 只能选择一
  • 根据另一个列表的顺序对列表进行排序[重复]

    这个问题在这里已经有答案了 我需要对列表进行排序Person对象 List
  • 异步方法的同步版本

    在 Java 中创建异步方法的同步版本的最佳方法是什么 假设您有一个包含这两种方法的类 asyncDoSomething Starts an asynchronous task onFinishDoSomething Called when
  • 运行外部进程的非阻塞线程

    我创建了一个 Java GUI 应用程序 它充当许多低级外部进程的包装器 该实用程序按原样运行 但迫切需要一项重大改进 我希望我的外部进程以非阻塞方式运行 这将允许我并行服务其他请求 简而言之 我希望能够在生成数据时处理来自外部进程的数据
  • 返回在 REST 控制器中包装 S3Object.getObjectContent() 的 ResponseEntity 是否安全?

    我正在开发一个 Spring Boot 应用程序 它应该允许用户通过指定的应用程序 REST 接口间接从 Amazon S3 下载文件 为此 我有一个 REST Controller 它向用户返回一个 InputStreamResource
  • 在java中加密字符串,在node.js中解密,错误:解密失败

    我正在尝试用 java 加密一个字符串 将其发送到我的 node js 服务器 然后解密 但是 当我尝试执行此操作时 尝试解密时会不断出现错误 Java加密 String privateKey someprivatekey String d

随机推荐

  • Turbine 仪表板未加载 Spring Cloud 微服务中的聚合

    我正在尝试使用 Spring MVC 和 Spring Boot 框架开发 Spring Cloud 微服务 以及用于 Spring Cloud 的 Eureka 服务器 Zuul Ribbon hystrix 和 Turbine 我已经开
  • MPI 矩阵向量乘法返回有时正确有时奇怪的值

    我有以下代码 Start MPI MPI Init argc argv int size atoi argv 1 int delta 10 int rnk int p int root 0 MPI Status mystatus MPI C
  • 如何与 Firebase 一起安装更新版本的nanopb

    我正在尝试将 Firebase 版本更新到 8 4 0 并遇到以下错误 为了更新 我在 pod 文件中将 Firebase Core Firebase Crashlytics Firebase Performance 的版本指定为 8 4
  • 无法推送到 Google 容器注册表(访问被拒绝)

    当我尝试推送容器镜像 https cloud google com container registry docs pushing and pulling到容器注册表 它给了我以下错误 被拒绝 项目 my proj 123 的令牌交换失败
  • AFNetworking 2.0取消特定任务

    我正在尝试 afnetworking 2 0 只是想弄清楚如何取消特定任务 旧的方法是使用类似的东西 self cancelAllHTTPOperationsWithMethod POST path user receipts 但我在 2
  • 有没有一种方法可以在不使用 PHP 或 JavaScript 的情况下拉伸文本区域以适应其内容?

    我正在用内容填充文本区域供用户编辑 是否可以使用 CSS 使其拉伸以适应内容 例如overflow show对于一个div 仅一行
  • Ajax 深度链接? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Laravel 未定义

    好吧 我正在使用新的 laravel 5 3 和 vue js 我想对数据库中的一些用户进行 GET 调用 顺便说一句 我正在使用组件 这是我的 app js require bootstrap Vue component example
  • 将 Apache Camel CMIS 与 Sharepoint 2013 结合使用

    我可以从 Chrome REST 客户端成功访问 Sharepoint 2013 AtomPub 界面 以下 URL 为我提供了我想要的文件 http ourintranet 100 personal myname vti bin cmis
  • UITableViewCell 中的 UIScrollView 不滚动

    我正在向具有滚动视图的 UITableView 添加一个单元格 单元格中的代码是 UIScrollView scrollView UIScrollView alloc initWithFrame CGRectMake 0 30 320 44
  • 使用 jQuery 显示 div。 CSS问题

    我有三个 divdisplay inline block 在每个 div 中我都有 divdisplay none当我试图显示隐藏的 div 时 div id show 1000 最近的 div 跳跃 我应该改变什么 我确实喜欢看到 div
  • Java EE 5 API 的单个/完整 Maven 依赖项

    是否有包含整个 Java EE 5 规范 API 的单个 Maven 依赖项 就像
  • Git Push 澄清 - 推送什么?

    When I push http www kernel org pub software scm git docs git push html本地工作目录到中央存储库 执行all中间分支和提交信息 从上次推送到这次 是否被推送 换句话说 是
  • 使用无符号整数溢出是一个好的做法吗?

    前几天我正在阅读 C 标准 并注意到与有符号整数溢出 未定义 不同 无符号整数溢出有明确的定义 我已经看到它在很多代码中用于最大值等 但是考虑到有关溢出的巫毒 这被认为是良好的编程实践吗 无论如何都是不安全的吗 我知道许多现代语言 例如 P
  • 同时打印到屏幕并写入文件

    我在网上找到了一些通常有效的代码 但我想在同一个程序中多次使用它 将不同的内容写入不同的文件 同时仍然始终打印到屏幕上 也就是说 当它关闭时 我认为 sys stdout 关闭 因此根本无法打印 并且再次使用此类会失败 我尝试重新导入 sy
  • 在 MATLAB 中数值计算复值函数的导数

    我想在 MATLAB 中以数值方式计算复值函数 全纯函数 的导数 我已经计算了复平面上网格中的函数 并且尝试使用柯西 黎曼关系来计算导数 鉴于 u 实数 f v imag f x 实数 点 y imag 点 导数应由下式给出 f du dx
  • 如何在 Pygame 中翻转图像

    我希望图像在向右移动时朝右 在向左移动时朝左 我不知道在这里要做什么 这是一项作业 不需要翻转图像 但我仍然想学习如何做到这一点 Author victor Xu Date January 21st 2021 Description Ani
  • 我可以获取指纹值吗?

    我尝试获取指纹值并存储它 之后 我尝试比较一下 value 与来自另一个硬件的指纹值 指纹 sensor Q1 他们之间可以比较吗 Q2 如果可以的话 我怎样才能获得这个值 我搜索过这些问题 发现这是不可能的 但我觉得 获取指纹信息的方法是
  • Realloc 在循环内第 10 次迭代后失败

    我试图从用户那里获取一系列字母 并将输入放入动态数组中 然而 由于我不太明白的原因 如果用户输入超过 10 个字母 则 realloc 失败 返回 NULL 并打印 分配内存时出错 我确实尝试将 realloc 更改为 calloc 这似乎
  • 释放Java 7 WatchService的资源

    我正在使用 Java 7 WatchService 来监视目录 我不断地改变我正在观看的目录 我遇到了异常 java io IOException 已达到网络 BIOS 命令限制 50 个目录之后 我确信在创建新的 WatchService