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

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

Java性能的優化(上)

2019-11-18 12:12:11
字體:
來源:轉載
供稿:網友

  java在九十年代中期出現以后,在贏得贊嘆的同時,也引來了一些批評。贏得的贊嘆主要是Java的跨平臺的操作性,即所謂的”Write Once,Run Anywhere”.但由于Java的性能和運行效率同C相比,仍然有很大的差距,從而引來了很多的批評。
  對于服務器端的應用程序,由于不大涉及到界面設計和程序的頻繁重啟,Java的性能問題看似不大明顯,從而一些Java的技術,如jsp,Servlet,EJB等在服務器端編程方面得到了很大的應用,但實際上,Java的性能問題在服務器端依然存在。下面我將分四個方面來討論Java的性能和執行效率以及提高Java性能的一些方法。
  一.關于性能的基本知識
  1.性能的定義
  在我們討論怎樣提高Java的性能之前,我們需要明白“性能“的真正含義。我們一般定義如下五個方面作為評判性能的標準。
  1) 運算的性能----哪一個算法的執行性能最好
  2) 內存的分配----程序需要分配多少內存,運行時的效率和性能最高。
  3) 啟動的時間----程序啟動需要多少時間。
  4) 程序的可伸縮性-----程序在用戶負載過重的情況下的表現。
  5) 性能的熟悉------用戶怎樣才能熟悉到程序的性能。
  對于不同的應用程序,對性能的要求也不同。例如,大部分的應用程序在啟動時需要較長的時間,從而對啟動時間的要求有所降低;服務器端的應用程序通常都分配有較大的內存空間,所以對內存的要求也有所降低。但是,這并不是所這兩方面的性能可以被忽略。其次,算法的性能對于那些把商務邏輯運用到事務性操作的應用程序來講非常重要。總的來講,對應用程序的要求將決定對各個性能的優先級。
  2.怎樣才能提高JAVA的性能
  提高JAVA的性能,一般考慮如下的四個主要方面:
  (1) 程序設計的方法和模式
  一個良好的設計能提高程序的性能,這一點不僅適用于JAVA,也適用也任何的編程語言。因為它充分利用了各種資源,如內存,CPU,高速緩存,對象緩沖池及多線程,從而設計出高性能和可伸縮性強的系統。
  當然,為了提高程序的性能而改變原來的設計是比較困難的,但是,程序性能的重要性經常要高于設計上帶來的變化。因此,在編程開始之前就應該有一個好的設計模型和方法。
 ?。?) JAVA布署的環境。
  JAVA布署的環境就是指用來解釋和執行JAVA字節碼的技術,一般有如下五種。即解釋指令技術(InterPReter Technology),及時編譯的技術(Just In Time Compilier Technology), 適應性優化技術(Adaptive Optimization Technology), 動態優化,提前編譯為機器碼的技術(Dynamic Optimization,Ahead Of Time Technology)和編譯為機器碼的技術(Translator Technology).
  這些技術一般都通過優化線程模型,調整堆和棧的大小來優化JAVA的性能。在考慮提高JAVA的性能時,首先要找到影響JAVA性能的瓶頸(BottleNecks),在確認了設計的合理性后,應該調整JAVA布署的環境,通過改變一些參數來提高JAVA應用程序的性能。具體內容見第二節。
 ?。?) JAVA應用程序的實現
  當討論應用程序的性能問題時,大多數的程序員都會考慮程序的代碼,這當然是對的,當更重要的是要找到影響程序性能的瓶頸代碼。為了找到這些瓶頸代碼,我們一般會使用一些輔助的工具,如Jprobe,Optimizit,Vtune以及一些分析的工具如TowerJ Performance等。這些輔助的工具能跟蹤應用程序中執行每個函數或方法所消耗掉的時間,從而改善程序的性能。
  (4) 硬件和操作系統
  為了提高JAVA應用程序的性能,而采用跟快的CPU和更多的內存,并認為這是提高程序性能的唯一方法,但事實并非如此。實踐經驗和事實證實,只有遭到了應用程序性能的瓶頸,從而采取適當得方法,如設計模式,布署的環境,操作系統的調整,才是最有效的。
  3.程序中通常的性能瓶頸。
  所有的應用程序都存在性能瓶頸,為了提高應用程序的性能,就要盡可能的減少程序的瓶頸。以下是在JAVA程序中經常存在的性能瓶頸。
  了解了這些瓶頸后,就可以有針對性的減少這些瓶頸,從而提高JAVA應用程序的性能
  4. 提高JAVA程序性能的步驟
  為了提高JAVA程序的性能,需要遵循如下的六個步驟。
  a) 明確對性能的具體要求
  在實施一個項目之前,必須要明確該項目對于程序性能的具體要求,如:這個應用程序要支持5000個并發的用戶,并且響應時間要在5秒鐘之內。但同時也要明白對于性能的要求不應該同對程序的其他要求沖突。
  b) 了解當前程序的性能
  你應該了解你的應用程序的性能同項目所要求性能之間的差距。通常的指標是單位時間內的處理數和響應時間,有時還會比較CPU和內存的利用率。
  c) 找到程序的性能瓶頸
  為了發現程序中的性能瓶頸,通常會使用一些分析工具,如:TowerJ application Performance Analyzer或VTune來察看和分析程序堆棧中各個元素的消耗時間,從而正確的找到并改正引起性能降低的瓶頸代碼,從而提高程序的性能。這些工具還能發現諸如過多的異常處理,垃圾回收等潛在的問題。
  d) 采取適當的措施來提高性能
  找到了引起程序性能降低的瓶頸代碼后,我們就可以用前面介紹過的提高性能的四個方面,即設計模式,JAVA代碼的實現,布署JAVA的環境和操作系統來提高應用程序的性能。具體內容將在下面的內容中作具體說明。
  e) 只進行某一方面的修改來提高性能
  一次只改變可能引起性能降低的某一方面,然后觀察程序的性能是否有所提高,而不應該一次改變多個方面,因為這樣你將不知道到底哪個方面的改變提高了程序的性能,哪個方面沒有,即不能知道程序瓶頸在哪。
  f) 返回到步驟c,繼續作類似的工作,一直達到要求的性能為止。
  二. JAVA布署的環境和編譯技術
   開發JAVA應用程序時,首先把JAVA的源程序編譯為與平臺無關的字節碼。這些字節碼就可以被各種基于JVM的技術所執行。這些技術主要分為兩個大類。即基于解釋的技術和基于提前編譯為本地碼的技術。
  具體可分為如下的五類:  
  a) 解釋指令技術
  其結構圖和執行過程如下:
   JAVA的編譯器首先把JAVA源文件編譯為字節碼。這些字節碼對于JAVA虛擬機(JVM)來講就是機器的指令碼。然后,JAVA的解釋器不斷的循環取出字節碼進行解釋并執行。
   這樣做的優點是可以實現JAVA語言的跨平臺,同時生成的字節碼也比較緊湊。JAVA的一些優點,如安全性,動態性都得保持;但缺點是省生成的字節碼沒有經過什么優化,同全部編譯好的本地碼相比,速度比較慢。
  b) 及時編譯技術(Just In Time)
    及時編譯技術是為了解決指令解釋技術效率比較低,速度比較慢的情況下提出的,其結構圖如下所示。
  其主要變化是在JAVA程序執行之前,又JIT編譯器把JAVA的字節碼編譯為機器碼。從而在程序運行時直接執行機器碼,而不用對字節碼進行解釋。同時對代碼也進行了部分的優化。
  這樣做的優點是大大提高了JAVA程序的性能。同時,由于編譯的結果并不在程序運行間保存,因此也節約了存儲空間了加載程序的時間;缺點是由于JIT編譯器對所有的代碼都想優化,因此也浪費了很多的時間。
  IBM和SUN公司都提供了相關的JIT產品。
  c) 適應性優化技術(Adaptive Optimization Technology)
  同JIT技術相比,適應性優化技術并不對所有的字節碼進行優化。它會跟蹤程序運行的成個過程,從而發現需要優化的代碼,對代碼進行動態的優化。對優化的代碼,采取80/20的策略。從理論上講,程序運行的時間越長,代碼就越優化。其結構圖如下:
  其優點是適應性優化技術充分利用了程序執行時的信息,發行程序的性能瓶頸,從而提高程序的性能;其缺點是在進行優化時可能會選擇不當,發而降低了程序的性能。
  其主要產品又IBM,SUN的HotSpot.
  d) 動態優化,提前編譯為機器碼的技術(Dynamic Optimization,Ahead Of Time)
  動態優化技術充分利用了JAVA源碼編譯,字節碼編譯,動態編譯和靜態編譯的技術。其輸入時JAVA的原碼或字節碼,而輸出是經過高度優化的可執行代碼和個來動態庫的混合(Window中是DLL文件,UNIX中是共享庫.a .so文件)。其結構如下:
  其優點是能大大提高程序的性能;缺點是破壞了JAVA的可移植性,也對JAVA的安全帶來了一定的隱患。
  其主要產品是TowerJ3.0.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
狠狠躁18三区二区一区| 亚洲欧洲国产精品| 国产99在线|中文| 欧美电影免费观看电视剧大全| 黑人精品xxx一区| 久久久久日韩精品久久久男男| 久久精品国产亚洲7777| 91成人国产在线观看| 亚洲一区二区三区乱码aⅴ| 青草热久免费精品视频| 国产91色在线| 日韩电影大全免费观看2023年上| 欧美视频中文字幕在线| 亚洲福利影片在线| 伊人久久大香线蕉av一区二区| 91免费的视频在线播放| 欧美大胆在线视频| 国产欧美亚洲精品| 欧美夜福利tv在线| 成人有码视频在线播放| 亚洲精品wwwww| 欧美视频免费在线观看| 欧美福利视频在线| 国产在线观看一区二区三区| 亚洲精品国产精品乱码不99按摩| 成人写真视频福利网| 国产精品99久久久久久人| 亚洲va男人天堂| 美日韩精品免费视频| 国产丝袜一区二区三区免费视频| 中文字幕久久久av一区| 日韩欧美在线看| 992tv成人免费影院| 中文字幕在线视频日韩| 日韩最新在线视频| 日韩av网站大全| 欧美精品www在线观看| 日韩精品视频免费在线观看| 成人免费在线网址| 久久久久久久久久久国产| 国产精品高潮呻吟久久av黑人| 亚洲欧美一区二区精品久久久| 精品国产区一区二区三区在线观看| 欧美激情一级二级| 久久精品国产清自在天天线| 午夜精品99久久免费| 欧美日韩国产精品一区二区三区四区| 日韩电影中文字幕一区| 国产精品亚洲综合天堂夜夜| 国产亚洲视频中文字幕视频| 欧美精品免费在线观看| 中文字幕日韩av电影| 国产成人啪精品视频免费网| 日韩国产欧美精品在线| 欧美日韩午夜剧场| 亚洲自拍欧美另类| 欧美午夜宅男影院在线观看| 青青久久av北条麻妃海外网| xxxx性欧美| 美日韩精品免费观看视频| 日韩人体视频一二区| 国产精品伦子伦免费视频| 国产视频欧美视频| 国产精品aaaa| 国产欧美日韩专区发布| 久久成人精品一区二区三区| 日韩成人av网址| 大胆人体色综合| 亚洲嫩模很污视频| 国产成+人+综合+亚洲欧洲| 97精品国产97久久久久久春色| 中文字幕自拍vr一区二区三区| 亚洲国产美女精品久久久久∴| 国产视频亚洲精品| 大胆人体色综合| 97在线看免费观看视频在线观看| 亚洲欧洲美洲在线综合| 国内外成人免费激情在线视频网站| 韩曰欧美视频免费观看| 亚洲品质视频自拍网| 国产精品日韩欧美| 欧美日韩国产精品一区二区三区四区| 美女av一区二区三区| 国产99视频在线观看| 国产成人久久久精品一区| 亚洲精品www久久久久久广东| 国产精品美女免费| 国产美女精品视频免费观看| 欧美成人午夜激情| 亚洲精品电影网| 亚洲欧美国产一区二区三区| 日韩精品视频在线免费观看| 国产精品视频永久免费播放| 日韩精品视频在线免费观看| 亚洲欧美另类在线观看| 亚洲精品美女免费| 欧美日韩裸体免费视频| 亚洲综合国产精品| 永久免费毛片在线播放不卡| 久久天天躁夜夜躁狠狠躁2022| www欧美xxxx| 影音先锋欧美在线资源| 久久久www成人免费精品张筱雨| 亚洲精品福利资源站| 久久久久久久久久av| 91精品国产自产在线老师啪| 日韩a**中文字幕| 欧美视频专区一二在线观看| 欧美精品在线第一页| 国产精品久久久999| 久久久久久久久久av| 日韩av免费网站| 亚洲va欧美va在线观看| 久久精品国产2020观看福利| 日韩欧美在线播放| 亚洲欧美制服第一页| 日韩精品视频免费| 成人动漫网站在线观看| 欧美精品videos性欧美| 亚洲欧美成人网| 日韩亚洲精品电影| 国产自摸综合网| 欧美激情精品久久久久久变态| 成人h片在线播放免费网站| 欧美成人黑人xx视频免费观看| 国产91亚洲精品| 国产精品视频区| 性欧美亚洲xxxx乳在线观看| 亚洲第一av网| 亚洲国产精品推荐| 国产精品国产亚洲伊人久久| 丝袜亚洲另类欧美重口| 国产成人精品一区二区| 成人性生交大片免费看小说| 亚洲国产欧美一区二区丝袜黑人| 精品人伦一区二区三区蜜桃免费| 国产精品一区二区三区在线播放| 欧美自拍视频在线| 国产手机视频精品| 欧美成人精品不卡视频在线观看| 欧美日韩中文字幕日韩欧美| 久久影院资源站| 国产精品欧美一区二区| 91精品在线国产| 亚洲国产精品视频在线观看| 欧美电影在线免费观看网站| 国外成人在线视频| 日韩在线视频网站| 综合激情国产一区| 欧美午夜影院在线视频| 日韩大陆欧美高清视频区| 精品国产一区二区三区久久| 91久久精品在线| 久久久久久久久久国产精品| 97国产在线视频| 姬川优奈aav一区二区| 韩国精品久久久999| 国内精品久久久久久久久| 国产一区二区丝袜高跟鞋图片| 91香蕉电影院| 亚洲一区二区福利| 精品久久久久久久久久ntr影视| 狠狠色狠色综合曰曰| 隔壁老王国产在线精品|