一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - 分享幾個提高Java性能的高效用法

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

2019-12-02 14:33Java教程網 JAVA教程

這篇文章主要介紹了分享幾個提高Java性能的高效用法 ,需要的朋友可以參考下

1.在重要的循環里,消除循環終止判斷時的方法調用

 

復制代碼代碼如下:

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

 

替換為…

 

復制代碼代碼如下:

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

 

2.通常,把與循環index不相關的移到循環的外面

 

復制代碼代碼如下:

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;
}

 

改為

 

復制代碼代碼如下:

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

 

2.字符串

消除字符串連接
創建長字符串時,總是使用StringBuffter代替String
預先分配StringBuffer空間

StringBuffer sb = new StringBuffer(5000);

3.基本數據類型

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

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

4.異常

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

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

使編譯器和運行時最優化,將幾個方法調用放在一個try/catch塊中,而不是為每個方法調用實現幾個try/catch塊

5.基準

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

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

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

你可能需要運行一些基準來判斷在你的平臺上怎么樣是最快的

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产福利一区二区三区 | 热久久最新 | 免费特黄一级欧美大片在线看 | 四虎永久 | 金莲一级淫片aaaaaa | 欧美日韩国产超高清免费看片 | 国产精品女主播大秀在线 | china精品对白普通话 | ady@ady9.映画网 | 激情影院费观看 | 亚洲一区二区日韩欧美gif | 亚洲国产成人在线 | 日韩精品一区二区三区老鸭窝 | 2018av在线| 日本大片在线 | 久久受www免费人成_看片中文 | 99热精品69堂国产 | 欧美区在线| 亚州笫一色惰网站 | 国产精品久久久久久久久免费hd | 国产成人永久免费视 | 4hu永久地域网名入口 | 5566中文字幕亚洲精品 | 精品女同一区二区三区免费站 | 99在线精品免费视频九九视 | 亚洲麻豆精品果冻传媒 | 色综合中文字幕天天在线 | yy3341殇情影院理论片 | 免费视频精品一区二区三区 | 好性20岁 | 18日本xxxxxxⅹxx96 | 日韩精品一区二区三区毛片 | 91尤物在线 | 黑人与老女人做受 | 特黄一级大片 | 国产va免费精品高清在线观看 | 美女被草哭 | 国产精品乱码高清在线观看 | 国产精品嫩草影院在线 | 插得爽 | 美女操穴视频 |