- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我需要有效地确定 InetSocketAddress
是 IPv6 还是 IPv4。我能看到的唯一两种方法是使用 instanceof
运算符,或者检查 getAddress()
的长度(应该返回一个 byte[]
)。这两个都不理想(instanceof
很慢,getAddress
必须复制数组)。
有更好的选择吗?
最佳答案
我认为您找不到比 instanceof
更快的东西。在这种特殊情况下,我希望 JIT 编译器优化它以加载和比较一对指针;即大约 5 条机器指令。
但即使 instanceof
比我理解的要慢得多,它也不太可能对您的应用程序的整体性能产生重大影响。
我建议您只使用 instanceof
,只有在您有确凿的证据表明此时存在瓶颈时才费心去优化它;例如在实际工作负载上分析您的应用程序的证据。
关于java - 确定 InetSocketAddress 是 IPv6 还是 IPv4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7061290/
目前部署在 Kubernetes 中的服务,通过 Calico BGP 将 Service 与集群外网络打通,并在外部的 nginx 中配置 Service 地址对外进行服务暴露。经过一段时间的观察
如发现here , 有一种新的 kube 服务是 IPVS 并且有很多负载均衡算法。 唯一的问题是我没有找到指定这些算法的位置。 我的理解: rr:循环法->循环调用后端pod lc:最少连接-> 将
我想尝试这种新的代理模式以及它为我们的一些应用程序提供的各种调度程序。到目前为止,我一直无法找到更改默认模式的方法 iptables至 ipvs在 GKE 节点上。 每个人都说通过--proxy-mo
我想在现有集群中为 IPVS 启用 Kube-proxy 模式。目前,它在 IPtables 上运行。如何在不影响现有工作负载的情况下将其更改为 IPVS? 我已经安装了所有必需的模块来启用它。另外,
我正在开发的应用程序作为 Kubernetes 集群中的部署运行。为此部署创建的 Pod 分布在集群中的各个节点上。我们的应用程序一次只能处理一个 TCP 连接,并且会拒绝进一步的连接。目前,我们使用
我是一名优秀的程序员,十分优秀!