Моя цель - проверить большой список доменов как можно быстрее. Метод InetAddress.getByName()
кажется для меня немного медленным. В PHP есть gethostbyname('www.example.com')
который работает быстрее. Есть ли эквивалент в Java, который быстрее? или есть способ ускорить его?
NSLookups требует времени из-за сетевой инфраструктуры, но вы можете сделать чек в paralell. Напишите поток, который выполняет поиск и запускает несколько экземпляров в paralell.
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();