冷面閻羅

          低調(diào)做人&&高調(diào)做事
          隨筆 - 208, 文章 - 3, 評論 - 593, 引用 - 0
          數(shù)據(jù)加載中……

          有關項目的優(yōu)化問題

          ???? 今天測試程序,某一菜單進去的時候比較慢,應該說是很慢,我就跟蹤也沒有發(fā)現(xiàn)什么地方不妥的。只是有些查詢語句感覺不大好。
          ?????? 1、查詢數(shù)據(jù)庫,應該要有主鍵,這樣查詢比較快。
          ?????? 2、少用string 應該多用stringbuffer。
          ?????? 3、應該多操作內(nèi)存,少操作數(shù)據(jù)庫。
          ?????? 4、if else 應該用的合理,if走完后應該跳過后面的判斷,不要重復判斷。
          ?????? 5、其實最主要的還是搞清編譯的環(huán)境--運行時還是.......?
          ?????? 6、少用new,變量比較多時用完后盡早回收。
          ????? 其實主要的還是代碼的“干凈”,要養(yǎng)成良好的書寫代碼習慣。
          ???? 今天在晚上看到一篇文章比較不錯,大家可以借鑒一下。 Java 理論與實踐: 動態(tài)編譯與性能測量

          posted on 2007-03-29 21:43 冷面閻羅 閱讀(1541) 評論(10)  編輯  收藏 所屬分類: java

          評論

          # re: 有關項目的優(yōu)化問題[未登錄]  回復  更多評論   

          1、查詢數(shù)據(jù)庫,應該要有主鍵,這樣查詢比較快。
          一般設計者都會設好主健,設好主健就快了嗎?答案是否定的,數(shù)據(jù)庫的查詢速度有很多因素,第一設置索引,第二查詢時避免使用OR,少用不等于比較等等。
          2、少用string 應該多用stringbuffer。
          這個倒是正確,但是能做到的人太少,因為使用起來很麻煩
          3、應該多操作內(nèi)存,少操作數(shù)據(jù)庫。
          這個倒是需要斟酌思量,比如要求數(shù)據(jù)即時性

          其實這些都在項目經(jīng)驗的積累。。。??夏苣阋院髸懈囝I悟
          2007-03-29 22:15 | 開源狂人

          # re: 有關項目的優(yōu)化問題  回復  更多評論   

          數(shù)據(jù)庫的查詢是比較頭疼的事,sql語句的優(yōu)化,數(shù)據(jù)庫字段的設計 這些專業(yè)的dba好多都說不明白,更何況是我們這邊寫程序的人。

          數(shù)據(jù)實時性這個也是需要著重考慮的,有些需要刷新比較快,應該考慮刷新的方法,查詢數(shù)據(jù)庫應該在刷新前,最好是在后臺進行。
          2007-03-29 22:46 | 冷面閻羅

          # re: 有關項目的優(yōu)化問題  回復  更多評論   

          說到這個,我想起來我們做演示版本的數(shù)據(jù)庫的時候,用了很多存儲過程和視圖,頻繁與數(shù)據(jù)庫交互,結(jié)果導致程序運行速度很慢。
          2007-03-30 08:02 | 米香兒

          # re: 有關項目的優(yōu)化問題  回復  更多評論   


          這么多問題中,第1條(不一定是只需要主鍵的)最為關鍵,其余的基本上對性能影響不大,尤其是第2、4、6。第6點簡直會誤解程序員。
          2007-03-30 08:40 | wangzx

          # re: 有關項目的優(yōu)化問題  回復  更多評論   

          第6點完全是誤導
          2007-03-30 08:57 | dennis

          # re: 有關項目的優(yōu)化問題  回復  更多評論   

          用 Profiler 分析分析, 籠統(tǒng)的下結(jié)論是不妥當?shù)?
          2007-03-30 10:13 | BeanSoft

          # re: 有關項目的優(yōu)化問題  回復  更多評論   

          第六條回收變量這個值得商榷。
          java調(diào)用回收器效果不是很好,不如讓它自動回收。
          第二條理論上是正確的,在大量操作字符串的時候效果最好,但是StringBuffer用起來實在是比較麻煩
          2007-03-30 14:05 | yuri

          # re: 有關項目的優(yōu)化問題  回復  更多評論   

          我個人感覺new是不大好的,而且感覺java的垃圾回收也只能在系統(tǒng)空閑時,而在c++中就要處處考慮內(nèi)存的問題,那么我們在java中是可以借鑒一下的,如果系統(tǒng)不大的話,這些就不用考慮那么多了,我現(xiàn)在手頭上這個項目java代碼差不多有100M。
          2007-03-30 14:49 | 冷面閻羅

          # re: 有關項目的優(yōu)化問題  回復  更多評論   

          好文!或許new這個問題可以在以后更多的并發(fā)應用中慢慢被"忽視"掉
          2007-04-07 03:37 | Shawn the Rock

          # re: 有關項目的優(yōu)化問題  回復  更多評論   

          少用string 應該多用stringbuffer。
          這點我不敢茍同,其實在jdk5以后,string的性能已經(jīng)有了很大的提高,只有很特殊情況才應該考慮stringbuffer,不要過于追求那些細微的內(nèi)存
          2007-05-22 09:02 | littleredboy
          主站蜘蛛池模板: 昭平县| 永康市| 海门市| 马尔康县| 石柱| 平潭县| 个旧市| 阿合奇县| 米林县| 肥西县| 聊城市| 龙门县| 威海市| 通城县| 泾川县| 巫山县| 张家界市| 宁远县| 达州市| 新邵县| 定陶县| 民和| 恩施市| 芦溪县| 迁西县| 陆川县| 鹿泉市| 黄冈市| 改则县| 定襄县| 精河县| 文成县| 佛山市| 石棉县| 四子王旗| 德惠市| 天台县| 安达市| 潍坊市| 义乌市| 于都县|