java.net
стандартной библиотеки существует класс InetAddress
, и два его наследника – Inet4Address
и Inet6Address
, для IPv4 и IPv6 соответственно.Один хост может разрешаться в несколько адресов. Статический метод
getAllByName
возвращает по хосту список IP (представленных классами InetAddress
). При неудачном разрешении выбрасывается UnknownHostException
. Метод getByName
вернет один, первый попавшийся хост. Разрешенный адрес хоста сохраняется в кэше.На работу классов пакета
java.net
влияют некоторые сетевые настройки JVM. До Java 9 можно было сконфигурировать службу для разрешения имен (DNS). Обратите внимание, теперь такая возможность пропала, и всегда используется стандартная служба системы.