Java 应用程序连接到网络时启动缓慢

Java 应用程序连接到网络时启动缓慢

我使用内核为 3.0 的 Arch Linux 和 brcmsmac 来管理无线网卡。我的桌面环境是 KDE 4.7,我使用 networkmanager 来处理网络。最近我遇到了一个奇怪的问题,每当我连接到网络时,Java 应用程序(例如 jEdit)启动时间会延长约 30 秒,但启动后运行正常。这可能是什么原因造成的?我该如何解决?

编辑:此问题同时出现在 Oracle 的 JRE 和 OpenJDK 上,两个版本均为 1.7。我使用的是 HTTP 代理,不知道这是否有什么区别。

编辑:我发现了这个问题的原因。我的 /etc/hosts 文件中的主机名是错误的。将其更正为我的主机名后,一切都正常了。我意识到这是由于 DNS 引起的,这要感谢 bahamat 的出色回答。我仍然不明白为什么只有 Java 应用程序受到影响,但无论如何它已经修复了。

答案1

你试过寻找吗这里

问:为什么 jEdit 启动这么慢?

A:有些插件需要大量的设置 - 如果你禁用一个插件,你就能确定罪魁祸首。jEdit 通常启动得很快,不需要插件

  1. 进入实用程序菜单并选择活动日志。
  2. 滚动到您看到类似“[通知] JARClassLoader:启动插件 XXX”之类的行的区域。

不过,您的症状听起来像是 DNS 超时。在 Debian 上,sun-java-jre 依赖于 avahi(用于 mDNS)。也许您有一个插件正在尝试执行超时的 DNS 查找。

相关内容