gpt4 book ai didi

java - 确定 InetSocketAddress 是 IPv6 还是 IPv4

转载 作者:搜寻专家 更新时间:2023-10-31 19:30:37 30 4
gpt4 key购买 nike

我需要有效地确定 InetSocketAddress 是 IPv6 还是 IPv4。我能看到的唯一两种方法是使用 instanceof 运算符,或者检查 getAddress() 的长度(应该返回一个 byte[])。这两个都不理想(instanceof 很慢,getAddress 必须复制数组)。

有更好的选择吗?

最佳答案

我认为您找不到比 instanceof 更快的东西。在这种特殊情况下,我希望 JIT 编译器优化它以加载和比较一对指针;即大约 5 条机器指令。

但即使 instanceof 比我理解的要慢得多,它也不太可能对您的应用程序的整体性能产生重大影响。

我建议您只使用 instanceof,只有在您有确凿的证据表明此时存在瓶颈时才费心去优化它;例如在实际工作负载上分析您的应用程序的证据。

关于java - 确定 InetSocketAddress 是 IPv6 还是 IPv4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7061290/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com