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