Java程序性能的調優
Java 技術具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應用於PC、數據中心、遊戲控制檯、科學超級計算機、移動電話和互聯網,同時擁有全球最大的開發者專業社羣。下面小編準備了關於Java程序性能調優的文章,提供給大家參考!
在《Java TM Platform Performance》一書中,定義瞭如下五個方面來作爲評判性能的標準:
1) 運算的性能——哪一個算法的執行性能最好?
2) 內存的分配——程序運行時需要耗費多少內存?
3) 啓動的時間——程序啓動需要多長時間?這在Web項目中的影響不大,但要注意部分程序需要部署或運行在客戶端時的情形(比如applet程序)。
4) 程序的可伸縮性——在壓力負載的情況下,程序的性能如何?
5) 性能的感知——用戶在什麼情況下會覺得程序的性能不好?
以上五個方面,在具體的使用場景可以有選擇的去評判。至於這五方面的性能調優,在後續的章節中將會陸續的給以相應的性能調優策略。
調優的規則
我們只需要關心對我們程序有影響,可以察覺到的性能問題,而不是每一個類中的每一個方法我們都需要想方設法的提高性能。如果程序的性能沒有達到我們所期望的要求,我們才需要考慮如何優化性能。同樣的,晦澀的代碼雖然提高了程序的性能,但同時可能帶給我們的是維護的噩夢。我們需要折中的考慮以上兩種情況,使得程序的代碼是優美的`,並且運行的足夠快,達到客戶所期望的性能要求。
優化代碼甚至會導致不良的結果,Donald Knuth(一位比較牛比較有影響的人物,具體是誰,我也忘了,誰知道,可以告訴我一下,謝謝!)曾說過,“Premature optimization is the root of all evil”。在開始性能調優前,需要先指出不優化代碼的一些理由。
1) 如果優化的代碼已經正常工作,優化後可能會引入新的bug;
2) 優化代碼趨向於使代碼更難理解和維護;
3) 在一個平臺上優化的代碼,在另一個平臺上可能更糟;
4) 花費很多時間在代碼的優化上,提高了很少的性能,卻導致了晦澀的代碼。 確實,在優化前,我們必須認真的考慮是否值得去優化。
調優的步驟
一般我們提高應用程序的性能劃分爲以下幾個步驟:
1) 明確應用程序的性能指標,怎樣才符合期望的性能需求;
2) 在目標平臺進行測試;
3) 如果性能已經達到性能指標,Stop;
4) 查找性能瓶頸;
5) 修改性能瓶頸;
6) 返回到第2步。
相關文章
-
java註冊成windows服務程序及簡單java定時關機的程序代碼
本文實例講述了java如何註冊成windows服務程序及一個簡單的java定時關機程序代碼,分享給大家供大家參考。具體方法如下:一、問題:最近想找個軟件來控制電腦的關機時間,在網上找了幾個,都是可視化界面的可以設置具體的關機 -
java性能調優的方法
化學是一門以實驗爲基礎與生活生產息息相關的課程。 化學知識的實用性很強,因此實驗就顯得非常重要。剛開始做實驗的時候,由於學生的理論知識基礎不好,在實驗過程遇到了許多的難題,也使學生們感到了理論知識的重要性。讓 -
關於java性能調優的方法
本篇《java性能調優的方法》特別爲需要方法編程學習的朋友收集整理的,僅供參考。 java性能調優的方法Java是目前軟件開發領域中使用最廣泛的編程語言之一。Java應用程序在許多垂直領域(銀行、電信、醫療保健等)中都 -
sun認證java程序員須知Java日誌框架
作爲一名Java程序員,明確的知道日誌系統是一個成熟Java應用所必不可少的,在開發和調試階段,日誌可以幫助我們更好更快地定位bug;在運行維護階段,日誌系統又可以幫我們記錄大部分的異常信息,從而幫助我們更好的完善系統。下 -
計算機二級JAVA考試構建JAVA程序2017
很多人一見到說要編程就以爲很難,其實只有一點一滴學知識點也不難,下面是小編整理的計算機二級JAVA考試構建JAVA程序介紹,歡迎閱讀! 第一個java applicationjava程序分爲java application(java 應用程序)和java applet -
Java EE性能的測試與調優
JavaEE,是由Sun Microsystems公司於1995年5月推出的Java程序設計語言和Java平臺的總稱。下面yjbys小編爲大家準備了關於Java EE性能的測試與調優,歡迎閱讀。 性能測試的目標性能測試不同於功能測試,不是對與錯的檢驗, -
Java編程性能優化技巧分享
針對大家的提問Java編程性能優化技巧有哪些,小編特意收集了以下的解答內容,希望對您有所幫助!更多內容請關注應屆畢業生考試網!1、字符串優化處理(1)String類的特點:不變性、針對常量池的優化(()方法的意義)(2)subString -
Java編程性能優化技巧有哪些
性能優化大部分都是在時間、效率、代碼結構層次等方面的權衡,下面內容由小編爲大家介紹Java編程性能優化技巧,供大家參考! 1.儘量在合適的場合使用單例使用單例可以減輕加載的負擔,縮短加載的時間,提高加載的效率,但並 -
Java語言程序調試技巧與多線程問題
導語:Java是一種應用於互聯網的分佈式環境的編程語言。Java語言易於使用,而且在編程時採用“以對象爲導向”的方式。下面就由小編爲大家介紹一下Java語言程序調試技巧與多線程問題,歡迎大家閱讀! 1 JaVa語言學習常見 -
Java程序員必知調試技巧彙總
調試可以幫助識別和解決應用程序缺陷,在本文中,將使用大家常用的的開發工具Eclipse來調試Java應用程序。但這裏介紹的調試方法基本都是通用的,也適用於NetBeans IDE,我們會把重點放在運行時上面。在開始之前,推薦大家去看