【发布时间】:2016-01-22 05:50:52
【问题描述】:
使用以下代码:
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 秒。机器是带有 Java 1.8.0_60 的 2015 Macbook Pro。
为什么需要这么长时间?
【问题讨论】:
-
你可以调试到
InetAddress.getLocalHost()看看它在哪里花费时间 -
这将是 DNS 配置错误。检查反向查找是否正常工作。它与Java没有任何关系。 @wero
-
禁用 IPv6 或将其设置为“仅限本地”是否有帮助? JVM 可能首先进行 IPv6 解析。
-
如果你关注他的博客,他首先使用了我的 :) 并且还在下面评论了我的回答。
标签: java