<rt id="eeo40"><acronym id="eeo40"></acronym></rt>
  • <dd id="eeo40"><s id="eeo40"></s></dd>
  • <menu id="eeo40"><code id="eeo40"></code></menu>
  • 您的位置:首 頁 > 新聞中心 > 行業(yè)動態(tài) > Java特性的優(yōu)化

    行業(yè)動態(tài)

    Java特性的優(yōu)化

    發(fā)布:2018-12-01 16:34:05 瀏覽:4332

    Java語言本身也有很多優(yōu)化技巧可以使用,比較常用的如使用StringBuilder,優(yōu)化自定義hasCode(equals()toString()方法,優(yōu)先使用原始數(shù)據(jù)類型,不在循環(huán)中使用try.catch,copy時使用System.arraycopy)命令,除了這些通用技巧外,我們再介紹-些優(yōu)化方法,分述如下。

    (1)減少編碼

    Java的編碼運行比較慢是Java的-大硬傷,在很多場景下只要涉及字符串的操作(如輸人輸出操作、1O操作)都比較耗CPU資源,不管它是磁盤1O還是網(wǎng)絡I/O,因為都需要將字符轉(zhuǎn)換成字節(jié),而這個轉(zhuǎn)換必須編碼。因此,減少編碼就可以大大提升性能。那么如何才能減少編碼呢?例如,在網(wǎng)頁輸出時可以直接進行流輸出,即用resp.getOutpusStream0)寫數(shù)據(jù),把一些靜態(tài)的數(shù)據(jù)提前轉(zhuǎn)化成byte,等到真正往外寫的時候再直接用OutputStream(寫,就可以減少靜態(tài)數(shù)據(jù)的編碼轉(zhuǎn)換。此外,很多存儲系統(tǒng)直接存儲成字節(jié)也是為了減少字符的編碼。

    (2)使用局部變量

    在很多情況下,程序員為了更方便地一次處理一個請求,一般會創(chuàng)建一-堆對象,再把這些對象一直傳遞下去,直到請求執(zhí)行完成,才會銷毀對象。這種操作會導致對象長時間不能回收,降低內(nèi)存的使用率,所以要鼓勵更多地使用局部變量。例如,調(diào)用方法時傳遞的參數(shù)以及在調(diào)用中創(chuàng)建的臨時變量都保存在棧中,這樣速度較快;其他變量像靜態(tài)變量、實例變量等,都在堆中創(chuàng)建速度較慢。棧中創(chuàng)建的變量,隨著方法的運行結(jié)束,這些內(nèi)容就沒有了也不需要額外的垃圾回收。

    (3)減少方法調(diào)用

    經(jīng)常看到一些代碼如ob.getXXX0,它的作用只不過是獲取某個變量對應的值,但是在一段代碼中卻需要多次調(diào)用一這種操作完全沒有必要,可以把這個方法調(diào)用的返回結(jié)果用一個局部變量保存下來,然后直接用這個局部變量就可以了,這樣能減少方法調(diào)用的次數(shù)(因為每一次方法調(diào)用JVM都要創(chuàng)建方法棧)。其他一些經(jīng)驗如下。

    ●把對象作為HashMap的key;

    ●web.xml配置版本信息可以減少啟動時annotation的掃描時間;

    ●Logger創(chuàng)建沒有使用static修飾符導致線程阻塞;

    ●少用Thread.getStackTraceO;

    網(wǎng)站建設正則運算盡量Cache。

    >>> 查看《Java特性的優(yōu)化》更多相關資訊 <<<

    本文地址:http://www.modelkey.org/news/html/4474.html

    趕快點擊我,讓我來幫您!
    亚洲高清无码中文成人在线,AV色综合久久天堂AV色综合在,久久人人爽人人爽人人片av高,日本亚洲成a人片在线观看
    <rt id="eeo40"><acronym id="eeo40"></acronym></rt>
  • <dd id="eeo40"><s id="eeo40"></s></dd>
  • <menu id="eeo40"><code id="eeo40"></code></menu>