质量推广预告 - JDK 21 - Windows 上的新网络接口名称
David Delabassee 于 2023 年 5 月 8 日
OpenJDK 质量小组正在推广使用 OpenJDK 构建测试 FOSS 项目,以此作为提高版本整体质量的一种方式。此预告是 定期沟通的一部分,已发送给相关项目。如需详细了解该计划以及如何加入,请在此处查看。
JDK 21 - Windows 上的新网络接口名称
JDK 为 Windows 上的网络接口分配的网络名称在 JDK 21 中会发生更改。
JDK 历来为 Windows 上的网络接口合成名称。这已更改为使用 Windows 操作系统分配的名称。例如,JDK 过去可能为以太网接口分配“eth0”这样的名称,为环回接口分配“lo”这样的名称。Windows 分配的等效名称可能是“ethernet_32768”和“loopback_0”这样的名称。
此更改可能会影响使用 NetworkInterace.getByName(String name)
方法查找网络接口的代码。它也可能会让使用 NetworkInterfaces.networkInterfaces()
或 NetworkInterface.getNetworkInterfaces()
方法枚举所有网络接口的代码感到意外,因为在 JDK 21 中,网络接口的名称看起来会不同。根据配置,有可能枚举所有网络接口会枚举以前未枚举的网络接口,因为它们没有分配 Internet 协议地址。由 NetworkInterface::getDisplayName
返回的显示名称没有更改,因此这应有助于在使用 Windows 原生工具时识别网络接口。
如需了解更多详情,请查看 JDK-8303898。