NSLookup是否有比InetAddress.getByName()更快的方法?

时间:2014-04-27 14:09:33

标签: java

我的目标是尽快检查一大堆域名。方法InetAddress.getByName()对我来说似乎有点慢。在PHP中,gethostbyname('www.example.com')似乎更快。 Java中的等价物是否更快?或者有办法加快速度吗?

1 个答案:

答案 0 :(得分:1)

NSLookups因网络基础设施而需要时间,但您可以进行并行检查。编写一个进行查找的线程,并在并行中运行它的多个实例。

class LookUpThread implements Runnable {
String name;
public LookUpThread() {

}

public LookUpThread(String Name) {
    this.name = Name;
}

public void run() 
{
    try 
    {
        InetAddress address = InetAddress.getByName(this.name);
        System.out.println(address.getHostAddress());
    } 
    catch (Exception E) {
        System.out.println("Exception " + E.getMessage());
    }
}

}

在你主要的:

String[] adds = new String[]{"example.com", "example.com"};
for(int i = 0; i < adds.length; i++)
    new LookUpThread(adds[i]).run();