账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    为什么Ribbon的服务器列表维护代码感觉性能不太好?
    40
    0

    阅读ribbon源码,发现ribbon在新增服务器的时候采用了addAll这种很奇怪的新增服务器的方法,十分不解为什么要这么做,有没有大佬可以讲解一下?

    public void addServer(Server newServer) {
            if (newServer != null) {
                try {
                    ArrayList<Server> newList = new ArrayList<Server>();
    
                    newList.addAll(allServerList);
                    newList.add(newServer);
                    setServersList(newList);
                } catch (Exception e) {
                    logger.error("Exception while adding a newServer", e);
                }
            }
        }

    一些疑惑:
    为什么不能使用add()进行更新呢?对于并发情况,感觉可以考虑使用并发锁进行处理,这样貌似性能会高一些?希望有大佬解答一下这个问题。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部