0

我想知道为什么要运行任何程序,Java 需要使用网络。由于我与大学无线网络的连接真的很糟糕,我一直断开连接,但接入点没有任何通知。因此,我无法再访问网络,但操作系统仍将连接视为正常。(就我而言,我在 Arch Linux 上使用 netctl。)

结果是 Java 在运行 main() 方法中的任何代码之前需要等待 20 秒。

如果连接断开(从网络实用程序的角度来看),则不会出现此问题。

你知道为什么Java 会这样做,以及如何防止它吗?

编辑,因为它似乎不清楚:

如何重现错误:

  1. 使用损坏的网关,例如 240.0.0.1
  2. 编写一个带有空 main() 方法的 Java 程序。
  3. 编译(javac)
  4. 运行程序

最后一步需要 20 多秒才能完成。

我想让你解释的不是我为什么会遇到网络问题,而是为什么 Java 会受到影响?

4

1 回答 1

0

这个问题确实是由于库,因为一个空的类路径解决了这个问题。

更新:您知道,图书馆不在网络上,而是向网络发出请求。这个图书馆是JR。

于 2014-03-27T10:05:45.277 回答