使用JRE6(Windows XP上的SUN VM),getLocalhost()有时会冻结。为什么getLocalhost()有时会冻结?
有趣的是,如果在Eclipse的调试器中,它不会冻结。我使用旧式的println将其缩小为单个getLocalhost()调用。代码没有什么特别的地方,我可以看到。
有没有其他人看到过这个问题?
使用JRE6(Windows XP上的SUN VM),getLocalhost()有时会冻结。为什么getLocalhost()有时会冻结?
有趣的是,如果在Eclipse的调试器中,它不会冻结。我使用旧式的println将其缩小为单个getLocalhost()调用。代码没有什么特别的地方,我可以看到。
有没有其他人看到过这个问题?
您没有指定它冻结多久...或者您的意思是完全冻结,永远不会返回。
如果本地主机名称(从JNI调用返回)不是“localhost”,则本地名称的IP地址使用InetAddress.getAddressFromNameService()解析。这是一个DNS调用,可能会阻止查找和访问名称服务器的时间不确定。
使用wireshark查看您的DNS是否需要很长时间才能响应。
如果你需要帮助,你应该发布代码片段。 – 2009-05-05 02:13:01