一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看

java語(yǔ)言

java性能調優(yōu)的方法

時(shí)間:2024-12-31 14:15:21 java語(yǔ)言 我要投稿

java性能調優(yōu)的方法

  Java是目前軟件開(kāi)發(fā)領(lǐng)域中使用最廣泛的編程語(yǔ)言之一。Java應用程序在許多垂直領(lǐng)域(銀行、電信、醫療保健等)中都有廣泛使用。Refcard的目的是,幫助開(kāi)發(fā)者通過(guò)專(zhuān)注于JVM內部,性能調整原則和最佳實(shí)踐。以下是小編為大家搜索整理java性能調優(yōu)的方法,希望能給大家帶來(lái)幫助!更多精彩內容請及時(shí)關(guān)注我們應屆畢業(yè)生考試網(wǎng)!

  程序性能的主要表現點(diǎn):

  執行速度:程序的反映是否迅速,響應時(shí)間是否足夠短

  內存分配:內存分配是否合理,是否過(guò)多地消耗內存或者存在內存泄漏

  啟動(dòng)時(shí)間:程序從運行到可以正常處理業(yè)務(wù)需要花費多少時(shí)間

  負載承受能力:當系統壓力上升時(shí),系統的執行速度、響應時(shí)間的上升曲線(xiàn)是否平緩

  衡量程序性能的主要指標:

  執行時(shí)間:程序從運行到結束所使用的時(shí)間

  CPU時(shí)間:函數或者線(xiàn)程占用CPU的時(shí)間

  內存分配:程序在運行時(shí)占用內容的空間

  磁盤(pán)吞吐量:描述I/O的使用情況

  網(wǎng)絡(luò )吞吐量:描述網(wǎng)絡(luò )的使用情況

  響應時(shí)間:系統對用戶(hù)行為或者事件做出響應的時(shí)間,響應時(shí)間越短,性能越好

  有可能成為系統性能瓶頸的幾個(gè)方面:

  磁盤(pán)I/O:磁盤(pán)I/O讀寫(xiě)的速度比內容慢很多,如果程序中需要等待磁盤(pán)I/O處理,低效的磁盤(pán)I/O操作會(huì )拖累整個(gè)系統

  網(wǎng)絡(luò )操作:由于網(wǎng)絡(luò )環(huán)境的不確定性,導致網(wǎng)絡(luò )數據讀寫(xiě)的操作可能比本地磁盤(pán)I/O更慢,如果,網(wǎng)絡(luò )操作處理不當,也回成為系統瓶頸

  CPU:對計算資源要求較高的應用,由于長(cháng)時(shí)間、不間斷地大量占用CPU資源,那么對CPU的爭奪將導致系統性能問(wèn)題

  異常:Java中的異常捕獲和處理都是非常消耗資源的,如果代碼中高頻率的異常處理,那么代碼的整體系統能就會(huì )明顯下降

  數據庫:大量數據對數據庫的讀寫(xiě)操作是相當費時(shí)的,而往往很多代碼中需要等到數據庫操作完成之后才可以進(jìn)行后續操作,這種緩慢的同步操作也將會(huì )成為系統瓶頸

  鎖競爭:對于高并發(fā)的系統來(lái)講,鎖競爭是相當激烈的,這對性能是一個(gè)極大的打擊,鎖競爭會(huì )明顯增加線(xiàn)程上下文切換的開(kāi)銷(xiāo),而往往這些開(kāi)銷(xiāo)都是與應用需求無(wú)關(guān)的系統開(kāi)銷(xiāo),白白占用CPU資源,帶來(lái)不了任何好處

  內存:一般情況,只要應用程序設計合理,內存在讀寫(xiě)速度上不太可能成為性能瓶頸。除非程序中進(jìn)行了高頻率的內存交換和掃描。內存成為系統瓶頸的最可能的情況就是內存大小不足。如果應用程序中將一些常用的核心數據存入內存,這個(gè)一定程度上會(huì )降低程序性能,因此,在將常用數據寫(xiě)入內存的時(shí)候,要注意一些優(yōu)化處理

  性能調優(yōu)的層次:

  設計調優(yōu):處于所有調優(yōu)手段的上層,在軟件開(kāi)發(fā)之前進(jìn)行,軟件設計和架構對軟件整體質(zhì)量有決定性的影響,所以,設計調優(yōu)對系統性能的影響也是最大的。其他方面的優(yōu)化都是對系統微觀(guān)層面上量的優(yōu)化,而設計優(yōu)化是對系統在宏觀(guān)方面上質(zhì)的優(yōu)化。一個(gè)良好的系統設計可以規避很多潛在的性能問(wèn)題,因此,盡可能多花時(shí)間在系統設計上,是創(chuàng )建高性能程序的關(guān)鍵

  代碼調優(yōu):發(fā)生在軟件開(kāi)發(fā)的過(guò)程中、軟件開(kāi)發(fā)完成后、軟件維護過(guò)程中,對代碼進(jìn)行改進(jìn)和優(yōu)化,要求開(kāi)發(fā)員熟悉語(yǔ)言的API、在合適場(chǎng)景使用正確的API、對算法和數據結構靈活運用

  JVM調優(yōu):需要對JVM運行原理和基本內存結構有一定了解,然后依據應用程序的特點(diǎn),設置合理的JVM啟動(dòng)參數

  數據庫調優(yōu):主要包括在應用層對SQL語(yǔ)句進(jìn)行優(yōu)化,對數據庫進(jìn)行優(yōu)化(設計具有良好表結構的數據庫),對數據庫軟件進(jìn)行優(yōu)化(比如使用Oracle數據庫,需要設置合理大小的共享池、緩存緩沖區等)

  操作系統調優(yōu):不同類(lèi)型的操作系統,調優(yōu)的手段和參數可能會(huì )有所不同。在主流額UNIX系統中,共享內存段、信號量、共享內存最大值、共享內存最小值等都是可以進(jìn)行優(yōu)化的系統資源

  基本調優(yōu)策略和手段

  明確性能優(yōu)化的目標,確定優(yōu)化的對象和最終目的(首先定位到系統的性能瓶頸,確定相關(guān)代碼進(jìn)行代碼優(yōu)化,如已無(wú)代碼優(yōu)化空間,則要考慮其他方面的優(yōu)化:JVM優(yōu)化、數據庫層面的優(yōu)化、操作系統層面的優(yōu)化等)

  對性能優(yōu)化要進(jìn)行嚴格的測試

【java性能調優(yōu)的方法】相關(guān)文章:

關(guān)于java性能調優(yōu)的方法10-26

分析PHP性能調優(yōu)實(shí)戰09-14

Java性能優(yōu)化的技巧10-19

Java性能優(yōu)化技巧大全07-12

Java編程性能優(yōu)化技巧分享08-11

java回調函數詳解11-02

Java 性能優(yōu)化的五大技巧08-12

Java編程性能優(yōu)化技巧有哪些08-07

Java性能優(yōu)化的五大技巧08-25

一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看