gpt4 book ai didi

Java InetAddress.getHostName() 需要很长时间才能执行

转载 作者:搜寻专家 更新时间:2023-10-31 19:29:36 54 4
gpt4 key购买 nike

我有以下小代码片段:

        InetAddress address = InetAddress.getByName(host);
if(address.isReachable(TIMEOUT_IN_MILLISECONDS)) {
System.out.println(host + " is reachable.");
String hostName = address.getHostName();
System.out.println(hostName);
}

如果找到一台机器,getHostName() 方法将花费相当长的时间来执行。有人可以解释一下原因吗?

最佳答案

来自InetAddress#getHostName() javadocs , 该方法将执行 reverse hostname lookup .因此,该方法调用的性能取决于 JVM 和目标主机的域名服务器之间的网络/技术堆栈的性能。

简而言之,该方法将进行系统调用以执行反向查找(例如 getaddrinfo(3) ),并且该调用将由操作系统执行以执行通过 Name Server 收集主机信息所需的网络操作。为您的机器配置。

关于Java InetAddress.getHostName() 需要很长时间才能执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10420317/

54 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com