如果网络连接超时,Java需要很长时间才能运行任何东西

时间:2014-03-25 17:55:23

标签: java virtual-machine openjdk icedtea

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

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

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

你知道为什么 Java会这样做, 如何阻止它?

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

如何重现错误:

  1. 使用损坏的网关,例如240.0.0.1
  2. 使用空的main()方法编写Java程序。
  3. 编译(javac)
  4. 运行程序
  5. 最后一步需要20多秒才能完成。

    我希望您解释的不是我遇到网络问题的原因,而是为什么Java会受到影响?

1 个答案:

答案 0 :(得分:0)

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

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