影响Linux上Java 6中的NetworkInterface.getNetworkInterfaces枚举的顺序

And*_*ich 8 java linux networking jdk1.6

NetworkInterface.getNetworkInterfaces()返回网络接口枚举的顺序是什么?有没有办法在JVM级别或Linux操作系统级别上影响它?

Joa*_*uer 5

根据OpenJDK的源代码(在src/solaris/native/java/net/NetworkInterface.c方法中找到enumInterfaces),它将首先返回IPv4接口(方法enumIPv4Interfaces),然后返回IPv6接口(方法enumIPv6Interfaces).

这些类别中的顺序似乎与操作系统使用的顺序相同(它使用SIOCGIFCONFioctl).

请注意,这取决于具体的实现没有定义,因此任何实现可以很容易做到这一点不同.