亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Java程序性能調優的基本知識和JDK調優

2019-11-18 13:32:43
字體:
來源:轉載
供稿:網友
一 基本知識

  1.1 性能是什么

  在性能調優之前,我們首先來了解一下性能是什么?關于性能,我想每個學習過java的人都能列出幾點,甚至可以夸夸其談。在《Java TM Platform Performance》一書中,定義了如下五個方面來作為評判性能的標準:

  1) 運算的性能——哪一個算法的執行性能最好?

  2) 內存的分配——程序運行時需要耗費多少內存?

  3) 啟動的時間——程序啟動需要多長時間?這在Web項目中的影響不大,但要注重部分程序需要部署或運行在客戶端時的情形(比如applet程序)。

  4) 程序的可伸縮性——在壓力負載的情況下,程序的性能如何?

  5) 性能的感知——用戶在什么情況下會覺得程序的性能不好?

  以上五個方面,在具體的使用場景可以有選擇的去評判。至于這五方面的性能調優,在后續的章節中將會陸續的給以相應的性能調優策略。
 
  1.2 調優的規則

  我們只需要關心對我們程序有影響,可以察覺到的性能問題,而不是每一個類中的每一個方法我們都需要想方設法的提高性能。假如程序的性能沒有達到我們所期望的要求,我們才需要考慮如何優化性能。同樣的,晦澀的代碼雖然提高了程序的性能,但同時可能帶給我們的是維護的噩夢。我們需要折中的考慮以上兩種情況,使得程序的代碼是美麗的,并且運行的足夠快,達到客戶所期望的性能要求。

  優化代碼甚至會導致不良的結果,Donald Knuth(一位比較牛比較有影響的人物,具體是誰,我也忘了,誰知道,可以告訴我一下,謝謝!)曾說過,“PRemature optimization is the root of all evil”。在開始性能調優前,需要先指出不優化代碼的一些理由。

  1) 假如優化的代碼已經正常工作,優化后可能會引入新的bug;

  2) 優化代碼趨向于使代碼更難理解和維護;

  3) 在一個平臺上優化的代碼,在另一個平臺上可能更糟;

  4) 花費很多時間在代碼的優化上,提高了很少的性能,卻導致了晦澀的代碼。 確實,在優化前,我們必須認真的考慮是否值得去優化。

  1.3 調優的步驟

  一般我們提高應用程序的性能劃分為以下幾個步驟:

  1) 明確應用程序的性能指標,怎樣才符合期望的性能需求;

  2) 在目標平臺進行測試;

  3) 假如性能已經達到性能指標,Stop;

  4) 查找性能瓶頸;

  5) 修改性能瓶頸;

  6) 返回到第2步。

  二 JDK調優

  2.1 選擇合適的JDK版本

  不同版本的JDK,甚至不同廠家的JDK可能都存在著很大的差異,對于性能優化的程度不同。一般來說,盡可能選擇最新發布的穩定的JDK版本。最新的穩定的JDK版本相對以前的JDK版本都會做一些bug的修改和性能的優化工作。

  2.2 垃圾收集Java堆的優化

  垃圾收集就是自動釋放不再被程序所使用的對象的過程。當一個對象不再被程序所引用時,它所引用的堆空間可以被回收,以便被后續的新對象所使用。垃圾收集器必須能夠斷定哪些對象是不再被引用的,并且能夠把它們所占據的堆空間釋放出來。假如對象不再被使用,但還有被程序所引用,這時是不能被垃圾收集器所回收的,此時就是所謂的“內存泄漏”。監控應用程序是否發生了內存泄漏,有一個非常優秀的監控工具推薦給大家——Quest公司的JProbe工具,使用它來觀察程序運行期的內存變化,并可產生內存快照,從而分析并定位內存泄漏的確切位置,可以精確定位到源碼內。這個工具的使用我在后續的章節中還會做具體介紹。

  Java堆是指在程序運行時分配給對象生存的空間。通過-mx/-Xmx和-ms/-Xms來設置起始堆的大小和最大堆的大小。根據自己JDK的版本和廠家決定使用-mx和-ms或-Xmx和-Xms。Java堆大小決定了垃圾回收的頻度和速度,Java堆越大,垃圾回收的頻度越低,速度越慢。同理,Java堆越小,垃圾回收的頻度越高,速度越快。要想設置比較理想的參數,還是需要了解一些基礎知識的。 Java堆的最大值不能太大,這樣會造成系統內存被頻繁的交換和分頁。所以最大內存必須低于物理內存減去其他應用程序和進程需要的內存。而且堆設置的太大,造成垃圾回收的時間過長,這樣將得不償失,極大的影響程序的性能。以下是一些經常使用的參數設置:

  1) 設置-Xms等于-XmX的值;

  2) 估計內存中存活對象所占的空間的大小,設置-Xms等于此值,-Xmx四倍于此值;

  3) 設置-Xms等于-Xmx的1/2大小;

  4) 設置-Xms介于-Xmx的1/10到1/4之間;
  
  5) 使用默認的設置。

  大家需要根據自己的運行程序的具體使用場景,來確定最適合自己的參數設置。 除了-Xms和-Xmx兩個最重要的參數外,還有很多可能會用到的參數,這些參數通常強烈的依靠于垃圾收集的算法,所以可能因為JDK的版本和廠家而有所不同。但這些參數一般在Web開發中用的比較少,我就不做具體介紹了。在實際的應用中注重設置-Xms和-Xmx使其盡可能的優化應用程序就行了。對于性能要求很高的程序,就需要自己再多研究研究Java虛擬機和垃圾收集算法的機制了??梢钥纯床軙凿?a href="http://www.49028c.com/tools/zaixianfanyi.asp">翻譯的《深入Java虛擬機》一書。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91伊人影院在线播放| 日本成人激情视频| 亚洲人成网站在线播| 亚洲第一级黄色片| 亚洲欧洲自拍偷拍| 中文字幕不卡av| 欧美一级电影在线| 97色伦亚洲国产| 日韩中文字幕亚洲| 久久全球大尺度高清视频| 国产欧美最新羞羞视频在线观看| 国产精品色婷婷视频| 久久91亚洲人成电影网站| 精品久久久久久久久久| 国产日韩在线播放| 欧美国产日韩中文字幕在线| 亚洲97在线观看| 国产日韩精品入口| 国产精品91视频| 亚州欧美日韩中文视频| 深夜福利91大全| 亚洲一级免费视频| 岛国av一区二区在线在线观看| 国产精品久久久久久亚洲调教| 狠狠色狠狠色综合日日小说| 日韩精品在线观看一区二区| 欧洲精品久久久| 久久综合久中文字幕青草| 日韩在线不卡视频| 欧美色播在线播放| 国产精品主播视频| 日韩av在线天堂网| 在线视频日韩精品| 国产69精品久久久久9999| 亚洲欧美日韩久久久久久| 国产xxx69麻豆国语对白| 中文字幕亚洲综合| 日本中文字幕不卡免费| 狠狠躁18三区二区一区| 久久国产精品久久久久久| 国语自产偷拍精品视频偷| 欧美日韩成人在线播放| 日韩av黄色在线观看| 欧美日韩国产成人| 欧美猛男性生活免费| 日韩电影在线观看永久视频免费网站| 欧美在线观看网址综合| 欧美国产日韩一区| 国产精品成人免费视频| 情事1991在线| 亚洲福利视频二区| 亚洲香蕉av在线一区二区三区| 日韩一区二区三区xxxx| 欧美日韩性视频| 久久久久亚洲精品成人网小说| 亚洲男人天天操| 97精品久久久中文字幕免费| 国产精品一区久久| 欧美日韩激情美女| 国产精品久久久久久久久久尿| 欧美伦理91i| 色综合影院在线| 亚洲国产日韩精品在线| 精品亚洲一区二区三区四区五区| 欧美黄网免费在线观看| 欧美精品18videos性欧美| 日韩精品在线看| 日韩欧美极品在线观看| 久久噜噜噜精品国产亚洲综合| 97超碰蝌蚪网人人做人人爽| 精品精品国产国产自在线| 精品国产一区二区三区久久久| 精品国产网站地址| 91日本在线观看| 久久人人爽人人爽人人片亚洲| 国产精品视频999| 91中文在线视频| 欧美精品久久久久久久久| 国产精品高潮粉嫩av| 亚洲影院色在线观看免费| 亚洲黄页视频免费观看| 国产成人精品在线播放| 乱亲女秽乱长久久久| 欧美精品激情在线观看| 亚洲欧美在线免费观看| 久久av资源网站| 97视频色精品| 国产一区二区三区视频免费| 欧美天天综合色影久久精品| 国产亚洲精品久久久久久牛牛| 97**国产露脸精品国产| 亚洲最大中文字幕| 成人羞羞国产免费| 日韩成人在线免费观看| 丝袜情趣国产精品| 亚洲精品乱码久久久久久按摩观| 最近2019年好看中文字幕视频| 日韩在线中文视频| 亚洲无亚洲人成网站77777| 97在线视频免费播放| 欧美一区二区影院| 91福利视频在线观看| 亚洲最大福利视频网站| 欧美猛少妇色xxxxx| 国产精品视频免费在线观看| 亚洲精品国产精品国自产观看浪潮| 伊人久久大香线蕉av一区二区| 亚洲字幕在线观看| 欧美在线亚洲一区| 欧美性猛交丰臀xxxxx网站| 亚洲精品国产精品自产a区红杏吧| 北条麻妃久久精品| 亚洲国语精品自产拍在线观看| 欧美性猛交xxxx免费看| 亚洲一级一级97网| 国产精品日韩在线观看| 91精品国产91久久久久福利| 91久久中文字幕| 欧美专区第一页| 日韩中文在线中文网三级| 国产精品成人va在线观看| 国产91ⅴ在线精品免费观看| 亚洲国产精品va在线观看黑人| 日韩福利在线播放| 97在线日本国产| 日韩午夜在线视频| 亚洲日本欧美日韩高观看| 日韩成人中文字幕在线观看| 黑人巨大精品欧美一区二区三区| 久久久人成影片一区二区三区观看| 亚洲小视频在线观看| 国产精品国产自产拍高清av水多| 精品国产视频在线| 日韩美女主播视频| 91精品国产99| 国内精品视频久久| 久久噜噜噜精品国产亚洲综合| 国产深夜精品福利| 成人在线一区二区| 91久久夜色精品国产网站| 亚洲aa在线观看| 欧美日韩国产激情| 欧美黑人极品猛少妇色xxxxx| 欧美另类极品videosbest最新版本| 久久精品在线播放| 国内精品视频在线| 亚洲欧美一区二区精品久久久| 国产精品夜间视频香蕉| 国产999精品久久久影片官网| 色狠狠久久aa北条麻妃| 精品福利在线视频| 日韩精品极品毛片系列视频| 在线观看欧美视频| 国产亚洲精品久久久久久777| 亚洲高清免费观看高清完整版| 亚洲区免费影片| 日韩最新免费不卡| 91精品久久久久久久久久久久久久| 久久久久久久av| 中文字幕日本精品| 久久亚洲精品小早川怜子66| 欧美精品福利在线| 欧美日韩免费一区| 日本久久久久久久久|