1. ホーム
  2. java

[解決済み] InetAddress.getLocalHost() の実行が遅い (30秒以上)

2023-06-29 06:40:03

質問

次のようなコードで

try {
  System.out.println(new Date());
  InetAddress hostName = InetAddress.getLocalHost();
  System.out.println(new Date());
} catch (UnknownHostException e) {
  e.printStackTrace();
}

このように出力されます。

Thu Oct 22 20:58:22 BST 2015
Thu Oct 22 20:58:52 BST 2015

つまり30秒の実行時間。 マシンは2015年のMacbook Pro、Java 1.8.0_60です。

なぜこんなに時間がかかるのでしょうか?

どのように解決するのですか?

この問題は、以下を /etc/hosts (の出力を想定しています。 hostname コマンドは my-macbook :

127.0.0.1   my-macbook
::1         my-macbook

これは時間をより適切なもの(< 1秒)に返します。