欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

分享幾個提高Java性能的高效用法

 更新時間:2014年10月21日 18:04:10   投稿:mdxy-dxy  
這篇文章主要介紹了分享幾個提高Java性能的高效用法 ,需要的朋友可以參考下

1.在重要的循環(huán)里,消除循環(huán)終止判斷時的方法調(diào)用

復(fù)制代碼 代碼如下:

for(int i=0; i<collection.size(); i++)
{
...
}
for(int i=0; i<collection.size(); i++)
{
...
}

替換為…

復(fù)制代碼 代碼如下:

view plaincopy to clipboardprint?
for(int i=0;n=collection.size();i<n;i++)
{
...
}

2.通常,把與循環(huán)index不相關(guān)的移到循環(huán)的外面

復(fù)制代碼 代碼如下:

for(int i=0;terminal=x.length;i<terminal;i++){
 X[i]=x[i]/scaleA*scaleB;
}
for(int i=0;terminal=x.length;i<terminal;i++){
X[i]=x[i]/scaleA*scaleB;
}

改為

復(fù)制代碼 代碼如下:

double scale = scaleB/scaleA;
for(int i=0; terminal=x.length; i<terminal; i++){
 X[i]=x[i]*scale;
}

2.字符串

消除字符串連接
創(chuàng)建長字符串時,總是使用StringBuffter代替String
預(yù)先分配StringBuffer空間

StringBuffer sb = new StringBuffer(5000);

3.基本數(shù)據(jù)類型

在重要的循環(huán)里使用基本數(shù)據(jù)類型(int型數(shù)據(jù)通常比long/double型數(shù)據(jù)更快)
基本數(shù)據(jù)類型(Boolean,Integer,etc)的包裝類主要用在當(dāng)傳遞的方法參數(shù)必須是一個對象的引用時(而不是一個基本數(shù)據(jù)類型)
對所有的常量代數(shù)表達(dá)式使用static final修飾符

一 使常量更容易引用(編譯器預(yù)先計算常量表達(dá)式)

4.異常

異常只用于單個真正的錯誤條件

一 拋出一個異常和執(zhí)行一個catch代碼塊花費(fèi)是很高的(主要由于當(dāng)創(chuàng)建一個異常時要獲得線程棧的一個快照)
一 只當(dāng)條件真的異常時才拋出一個異常

使編譯器和運(yùn)行時最優(yōu)化,將幾個方法調(diào)用放在一個try/catch塊中,而不是為每個方法調(diào)用實現(xiàn)幾個try/catch塊

5.基準(zhǔn)

注意,所有這些技巧會因不同的平臺和虛擬機(jī)而不同

一 例如:在有些servlet容器內(nèi),通過一個OutputStream作為字節(jié)輸出會更快
一 在其它的容器內(nèi),通過一個PrintWriter輸出字符會更快

這些技巧描述的是最可移植的建議

你可能需要運(yùn)行一些基準(zhǔn)來判斷在你的平臺上怎么樣是最快的

相關(guān)文章

  • Springboot項目與vue項目整合打包的實現(xiàn)方式

    Springboot項目與vue項目整合打包的實現(xiàn)方式

    這篇文章主要介紹了Springboot項目與vue項目整合打包的實現(xiàn)方式,本文通過兩種方式給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • 詳談Java 異常處理的誤區(qū)和經(jīng)驗總結(jié)(分享)

    詳談Java 異常處理的誤區(qū)和經(jīng)驗總結(jié)(分享)

    下面小編就為大家分享一篇Java 異常處理的誤區(qū)和經(jīng)驗總結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • Springboot使用slf4j記錄日志的方法步驟

    Springboot使用slf4j記錄日志的方法步驟

    本文主要介紹了Springboot使用slf4j記錄日志的方法步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 利用Jackson實現(xiàn)數(shù)據(jù)脫敏的示例詳解

    利用Jackson實現(xiàn)數(shù)據(jù)脫敏的示例詳解

    在我們的企業(yè)項目中,為了保護(hù)用戶隱私,數(shù)據(jù)脫敏成了必不可少的操作,那么我們怎么優(yōu)雅的利用Jackson實現(xiàn)數(shù)據(jù)脫敏呢,本文就來和大家詳細(xì)聊聊,希望對大家有所幫助
    2023-05-05
  • maven報錯:Failed to execute goal on project問題及解決

    maven報錯:Failed to execute goal on p

    這篇文章主要介紹了maven報錯:Failed to execute goal on project問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • SpringCloud-Config分布式配置代碼示例

    SpringCloud-Config分布式配置代碼示例

    這篇文章主要介紹了SpringCloud-Config分布式配置代碼示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • mybatis plus實體類中字段映射mysql中的json格式方式

    mybatis plus實體類中字段映射mysql中的json格式方式

    這篇文章主要介紹了mybatis plus實體類中字段映射mysql中的json格式方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 關(guān)于@ApiImplicitParams、ApiImplicitParam的使用說明

    關(guān)于@ApiImplicitParams、ApiImplicitParam的使用說明

    這篇文章主要介紹了關(guān)于@ApiImplicitParams、ApiImplicitParam的使用說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 深入理解MyBatis中的一級緩存與二級緩存

    深入理解MyBatis中的一級緩存與二級緩存

    這篇文章主要給大家深入的介紹了關(guān)于MyBatis中一級緩存與二級緩存的相關(guān)資料,文中詳細(xì)介紹MyBatis中一級緩存與二級緩存的工作原理及使用,對大家具有一定的參考性學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • java爬蟲Gecco工具抓取新聞實例

    java爬蟲Gecco工具抓取新聞實例

    本篇文章主要介紹了JAVA 爬蟲Gecco工具抓取新聞實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2016-10-10

最新評論