代码之家  ›  专栏  ›  技术社区  ›  Patrick

使用带有Swing组件的RMI代理时性能不佳

  •  2
  • Patrick  · 技术社区  · 16 年前

    当我向JavaSwingJList组件添加RMI代理引用时,我遇到了巨大的性能问题。

    我正在检索用户列表 Profile JList ,在海关的帮助下 ListModel 和 CellRenderer

    Collections.binarySearch() 为了找到下一个要添加的元素的正确位置,比较器使用由 接口,即 getFirstName() 和 getLastName()

    有没有办法加快这个过程,或者我只是用错误的方式来实现它?或者这是RMI的一个“特征”?我非常希望能够在本地缓存远程对象的一些数据,以最小化远程方法调用。


    更新和可能的解决方案:

    3 回复  |  直到 16 年前
        1
  •  1
  •   Justin    16 年前

    我认为您需要将显示字段添加到Profile对象中,并将其与Profile一起返回。可以在单个inspector视图中返回整个概要文件,但是如果在概览视图中有它们,则应该在初始查询中返回它们。

        2
  •  1
  •   Finbarr    16 年前

    帕特里克,你打电话来吗 Collections.binarySearch 在…上 Remote 物体?如果此方法必须向rmi服务器询问有关对象的更多信息,则可能是您无意中造成了网络上的大量通信量。

        3
  •  0
  •   user207421    16 年前

    (a) 这与RMI无关。

    (b) 摆弄binarySearch()只会浪费时间。使用Collections.Sort()首先或最后对项进行排序,或将树模型基于本质上已排序的集合。