Класс InetAddressResolverProvider
public abstract class InetAddressResolverProvider extends Object
Поставщик резолвера — это фабрика пользовательских реализаций резолверов InetAddress. Резолвер определяет операции поиска (разрешения) имён хостов и IP-адресов.
Поставщик резолвера — это конкретный подкласс данного класса с конструктором без аргументов, реализующий указанные ниже абстрактные методы.
При каждом запуске виртуальной машины Java поддерживается единственный общесистемный экземпляр резолвера, используемый InetAddress. Он задаётся после полной инициализации виртуальной машины и при первом вызове метода класса InetAddress, инициирующем операцию поиска.
Поставщик резолвера обнаруживается и загружается классом InetAddress для создания общесистемного резолвера следующим образом:
- Механизм
ServiceLoaderиспользуется для поискаInetAddressResolverProviderс помощью системного загрузчика классов. Порядок обнаружения поставщиков определяется реализацией. Первый найденный поставщик будет использован для создания экземпляраInetAddressResolverпутём вызова методаget(InetAddressResolverProvider.Configuration). Возвращённый объектInetAddressResolverбудет назначен общесистемным резолвером. - Если на предыдущем шаге не удалось найти поставщик резолвера, общесистемным резолвером будет назначен встроенный резолвер.
Если при создании пользовательского резолвера из поставщика, обнаруженного на шаге 1, возникает ошибка или исключение, общесистемный резолвер не будет назначен, а ошибка или исключение будет передано вызывающему коду метода, инициировавшего операцию поиска. В противном случае все операции поиска будут выполняться с использованием общесистемного резолвера.
- Примечание по реализации:
-
InetAddressбудет использовать встроенный резолвер для всех операций поиска, которые могут выполняться до полной загрузки виртуальной машины. - Начиная с версии:
- 18
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
static interface |
InetAddressResolverProvider.Configuration |
Объект Configuration передаётся методу get(Configuration) при назначении общесистемного резолвера. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт новый экземпляр InetAddressResolverProvider. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract InetAddressResolver |
get |
Инициализирует и возвращает InetAddressResolver, предоставленный этим поставщиком. |
abstract String |
name() |
Возвращает имя этого поставщика или null, если имя не задано. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, является ли другой объект «равным» этому объекту. |
protected void |
finalize() |
Устарело, планируется удаление: этот элемент API может быть удалён в будущей версии. Финализация объявлена устаревшей и может быть удалена в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова метода notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова метода notify или interrupt, либо истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова метода notify или interrupt, либо истечения заданного промежутка реального времени. |
Подробное описание конструкторов
InetAddressResolverProvider
protected InetAddressResolverProvider()
InetAddressResolverProvider.- Примечание по реализации:
- Рекомендуется, чтобы инициализация реализации службы
InetAddressResolverProviderбыла как можно проще, чтобы избежать возможных рисков взаимной блокировки или циклов загрузки классов при создании экземпляра поставщика службы.
Подробное описание методов
get
public abstract InetAddressResolver get(InetAddressResolverProvider.Configuration configuration)
InetAddressResolver, предоставленный этим поставщиком. Этот метод вызывается классом InetAddress при установке реализации общесистемного резолвера. Любая ошибка или исключение, выброшенные этим методом, считаются неудачной инициализацией InetAddressResolver и передаются вызывающему коду метода, инициировавшего операцию поиска.
- Параметры:
-
configuration— экземплярInetAddressResolverProvider.Configuration, содержащий встроенную конфигурацию платформы для разрешения адресов. - Возвращает:
- резолвер, предоставленный этим поставщиком
name
public abstract String name()
null, если имя не задано.- Возвращает:
- имя этого поставщика или
null, если имя не задано
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.