程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java順序功能優化讀書筆記(一):Java功能調優概述

Java順序功能優化讀書筆記(一):Java功能調優概述

編輯:關於JAVA

Java順序功能優化讀書筆記(一):Java功能調優概述。本站提示廣大學習愛好者:(Java順序功能優化讀書筆記(一):Java功能調優概述)文章只能為提供參考,不一定能成為您想要的結果。以下是Java順序功能優化讀書筆記(一):Java功能調優概述正文


順序功能的次要表現點:
  • 執行速度:順序的反映能否迅速,呼應時間能否足夠短
  • 內存分配:內存分配能否合理,能否過多地耗費內存或許存在內存走漏
  • 啟動時間:順序從運轉到可以正常處置業務需求破費多少時間
  • 負載接受才能:當零碎壓力上升時,零碎的執行速度、呼應時間的上升曲線能否陡峭
權衡順序功能的次要目標:
  • 執行時間:順序從運轉到完畢所運用的時間
  • CPU時間:函數或許線程占用CPU的時間
  • 內存分配:順序在運轉時占用內容的空間
  • 磁盤吞吐量:描繪I/O的運用狀況
  • 網絡吞吐量:描繪網絡的運用狀況
  • 呼應時間:零碎對用戶行為或許事情做出呼應的時間,呼應時間越短,功能越好
有能夠成為零碎功能瓶頸的幾個方面:
  • 磁盤I/O:磁盤I/O讀寫的速度比內容慢很多,假如順序中需求等候磁盤I/O處置,低效的磁盤I/O操作會拖累整個零碎
  • 網絡操作:由於網絡環境的不確定性,招致網絡數據讀寫的操作能夠比本地磁盤I/O更慢,假如,網絡操作處置不當,也回成為零碎瓶頸
  • CPU:對計算資源要求較高的使用,由於長時間、不連續地少量占用CPU資源,那麼對CPU的搶奪將招致零碎功能問題
  • 異常:Java中的異常捕捉和處置都是十分耗費資源的,假如代碼中高頻率的異常處置,那麼代碼的全體零碎能就會分明下降
  • 數據庫:少量數據對數據庫的讀寫操作是相當費時的,而往往很多代碼中需求等到數據庫操作完成之後才可以停止後續操作,這種遲緩的同步操作也將會成為零碎瓶頸
  • 鎖競爭:關於高並發的零碎來講,鎖競爭是相當劇烈的,這對功能是一個極大的打擊,鎖競爭會分明添加線程上下文切換的開支,而往往這些開支都是與使用需求有關的零碎開支,白白占用CPU資源,帶來不了任何益處
  • 內存:普通狀況,只需使用順序設計合理,內存在讀寫速度上不太能夠成為功能瓶頸。除非順序中停止了高頻率的內存交流和掃描。內存成為零碎瓶頸的最能夠的狀況就是內存大小缺乏。假如使用順序中將一些常用的中心數據存入內存,這個一定水平上會降低順序功能,因而,在將常用數據寫入內存的時分,要留意一些優化處置
功能調優的層次:
  • 設計調優:處於一切調優手腕的下層,在軟件開發之行進行,軟件設計和架構對軟件全體質量有決議性的影響,所以,設計調優對零碎功能的影響也是最大的。其他方面的優化都是對零碎微觀層面上量的優化,而設計優化是對零碎在微觀方面上質的優化。一個良好的零碎設計可以躲避很多潛在的功能問題,因而,盡能夠多花時間在零碎設計上,是創立高功能順序的關鍵
  • 代碼調優:發作在軟件開發的進程中、軟件開發完成後、軟件維護進程中,對代碼停止改良和優化,要求開發員熟習言語的API、在適宜場景運用正確的API、對算法和數據構造靈敏運用
  • JVM調優:需求對JVM運轉原理和根本內存構造有一定理解,然後根據使用順序的特點,設置合理的JVM啟動參數
  • 數據庫調優:次要包括在使用層對SQL語句停止優化,對數據庫停止優化(設計具有良好表構造的數據庫),對數據庫軟件停止優化(比方運用Oracle數據庫,需求設置合理大小的共享池、緩存緩沖區等)
  • 操作零碎調優:不同類型的操作零碎,調優的手腕和參數能夠會有所不同。在主流額UNIX零碎中,共享內存段、信號量、共享內存最大值、共享內存最小值等都是可以停止優化的零碎資源
根本調優戰略和手腕
  • 明白功能優化的目的,確定優化的對象和最終目的(首先定位到零碎的功能瓶頸,確定相關代碼停止代碼優化,如已無代碼優化空間,則要思索其他方面的優化:JVM優化、數據庫層面的優化、操作零碎層面的優化等)
  • 對功能優化要停止嚴厲的測試
總結
  • 功能優化有風險和弊端,功能調優必需有明白的目的,不要為了調優而調優!!!自覺調優,風險遠大於收益!!!
    
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved