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性能調優的方法
【篇一】xx年下半年,我局將繼續圍繞縣委、縣政府中心工作,立足實際,認真履職,着力推進各項民生工作,着力提高人民羣眾生活水平,着力促進xx經濟發展、社會和諧穩定。一、加強各項創建工作,力爭各項創建一舉達標(一)建成專用城 -
關於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性能的測試與調優
大學英語教學一直以來都是大學教學課程體系中的核心課程,近年來大學英語教學完成了對教學目標和教學模式的改革並取得了很大的成效。本文是本站小編為大家整理的大學英語學習計劃書範文,僅供參考。大學英語學習計劃書 -
Java編程性能優化技巧分享
我們的大學生活算是接近尾聲了,因為在剩下的不多的時間裏我們已經是半個踏入社會的求職者了。今天小編就大家分享一下的畢業生的自我鑑定,有興趣的要學習哦畢業自我鑑定優秀範文經過四年的大學生活,我成長了很多。在這即 -
Java編程性能優化技巧有哪些
性能優化大部分都是在時間、效率、代碼結構層次等方面的權衡,下面內容由小編為大家介紹Java編程性能優化技巧,供大家參考! 1.儘量在合適的場合使用單例使用單例可以減輕加載的負擔,縮短加載的時間,提高加載的效率,但並 -
Java語言程序調試技巧與多線程問題
導語:Java是一種應用於互聯網的分佈式環境的編程語言。Java語言易於使用,而且在編程時採用“以對象為導向”的方式。下面就由小編為大家介紹一下Java語言程序調試技巧與多線程問題,歡迎大家閲讀! 1 JaVa語言學習常見 -
Java程序員必知調試技巧彙總
調試可以幫助識別和解決應用程序缺陷,在本文中,將使用大家常用的的開發工具Eclipse來調試Java應用程序。但這裏介紹的調試方法基本都是通用的,也適用於NetBeans IDE,我們會把重點放在運行時上面。在開始之前,推薦大家去看