java.lang.Object
java.net.spi.InetAddressResolverProvider
InetAddress 解析器 的服务提供商类。
解析器提供程序是 InetAddress 解析器 自定义实现的工厂。解析器定义了查找(解析)主机名和 IP 地址的操作。
解析器提供程序是此类的具体子类,它具有零参数构造函数并实现下面指定的抽象方法。
给定的 Java 虚拟机调用维护一个系统范围的解析器实例,由 InetAddress 使用。它在 VM 完全初始化后设置,当调用 InetAddress 类中的方法触发第一个查找操作时。
解析器提供程序由 InetAddress 定位并加载,以创建系统范围的解析器,如下所示:
ServiceLoader机制用于使用系统类加载器定位InetAddressResolverProvider。提供商所在的顺序是 具体实现 。找到的第一个提供程序将用于通过调用get(InetAddressResolverProvider.Configuration)方法来实例化InetAddressResolver。返回的InetAddressResolver将被设置为系统范围的解析器。- 如果上一步未能找到任何解析器提供程序,内置解析器 将被设置为系统范围的解析器。
如果从步骤 1 中发现的提供程序实例化自定义解析器引发错误或异常,系统范围的解析器将不会被设置,错误或异常将传播到触发查找操作的方法的调用者。否则,将使用系统范围的解析器.
- 实现注意事项:
InetAddress将使用内置解析器对于在 VM 完全启动之前可能发生的任何查找操作。- 自从:
- 18
-
内部类总结
内部类 -
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述abstract InetAddressResolverget(InetAddressResolverProvider.Configuration configuration) 初始化并返回此提供商提供的InetAddressResolver。abstract Stringname()返回此提供者的名称,如果未命名则返回null。
-
构造方法详细信息
-
InetAddressResolverProvider
protected InetAddressResolverProvider()创建InetAddressResolverProvider的新实例。- 实现注意事项:
-
建议
InetAddressResolverProvider服务实现初始化应尽可能简单,以避免在服务提供者实例化期间可能出现死锁或类加载循环的风险。 - 抛出:
SecurityException- 如果存在安全管理器并且其checkPermission方法不允许RuntimePermission("inetAddressResolverProvider")。
-
-
方法详情
-
get
初始化并返回此提供商提供的InetAddressResolver。当 安装 系统范围的解析器实现时,此方法由InetAddress调用。此方法抛出的任何错误或异常都被视为
InetAddressResolver实例化失败,并将传播到触发查找操作的方法的调用者。- 参数:
configuration- 包含平台内置地址解析配置的InetAddressResolverProvider.Configuration实例。- 返回:
- 此提供商提供的解析器
-
name
返回此提供者的名称,如果未命名则返回null。- 返回:
-
此提供商的名称,如果未命名,则为
null
-