我想知道为什么要运行任何程序,Java 需要使用网络。由于我与大学无线网络的连接真的很糟糕,我一直断开连接,但接入点没有任何通知。因此,我无法再访问网络,但操作系统仍将连接视为正常。(就我而言,我在 Arch Linux 上使用 netctl。)
结果是 Java 在运行 main() 方法中的任何代码之前需要等待 20 秒。
如果连接断开(从网络实用程序的角度来看),则不会出现此问题。
你知道为什么Java 会这样做,以及如何防止它吗?
编辑,因为它似乎不清楚:
如何重现错误:
- 使用损坏的网关,例如 240.0.0.1
- 编写一个带有空 main() 方法的 Java 程序。
- 编译(javac)
- 运行程序
最后一步需要 20 多秒才能完成。
我想让你解释的不是我为什么会遇到网络问题,而是为什么 Java 会受到影响?