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