當柳上原的風吹向天際的時候...

          真正的快樂來源于創造

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            368 Posts :: 1 Stories :: 201 Comments :: 0 Trackbacks
          任務:數據庫中有六千余條目錄(id,pid,name)數據組成一棵目錄樹,需要通過WebService服務提供給客戶端顯示出來(Swing中的JTree)。

          實現功能的第一步:在客戶端的樹顯示時通過網絡得到頂層目錄,再根據用戶的點擊逐級展開下級目錄。此方案優點:實現簡單;缺點:點擊多次容易使人厭煩,速度不行。

          客戶端實現改善的第二步:啟動一個線程從服務器加載數據逐漸生成一個節點樹,再交給界面上的JTree命其更新。此舉對操作友好型有改進,速度上也有所提高。

          客戶端實現改善的第三步:先起線程從服務器端一次性下載完全部數據,而后置入內存,再以此為基礎構建樹。此舉對速度也有明顯提高。

          客戶端實現改善的第四步:將已經加載的節點從內存中刪除,使查找時間逐漸減小。此舉對速度有一定提高。

          服務器端實現改善的第四步:不使用Hibernate的對象映射而單獨遴選字段組建成一個包裝類,此舉對速度有一定提高。

          服務器端實現改善的第五步:直接采用優化的存儲過程將表中必要行集的數據在數據庫段形成大文本,一次性傳出,WS服務器端只負責傳輸,此舉對速度有明顯提高。

          通過以上措施,完成包括六千個節點的樹顯示速度數量級的提高,綜合評價一下,以上逐步中,第三步:在客戶端另起線程從內存加載數據形成一棵完整的節點樹再通知界面更新 和 第五步:通過存儲過程直接取得行集合并結果對提高速度幫助最大。


          posted on 2010-01-08 22:20 何楊 閱讀(263) 評論(0)  編輯  收藏
          主站蜘蛛池模板: 平遥县| 新巴尔虎左旗| 台南县| 廉江市| 肇东市| 类乌齐县| 红安县| 稻城县| 潜山县| 衡南县| 靖边县| 松阳县| 米泉市| 江都市| 巫山县| 威信县| 平凉市| 会宁县| 中阳县| 双江| 尚义县| 贺兰县| 南部县| 溆浦县| 新巴尔虎右旗| 体育| 禄丰县| 南城县| 滦平县| 陆河县| 苏尼特右旗| 本溪| 焦作市| 甘泉县| 杭锦后旗| 贵州省| 彩票| 五大连池市| 洪雅县| 桂平市| 威信县|