欧美特黄不卡,涩涩视频在线,成人国产精品一区二区网站,亚洲一区二区三区欧美

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

有關String的性能問題 0.2版

有關String的性能問題 0.2版

更新時間:2022-05-16 文章作者:未知 信息來源:網絡 閱讀次數:

相信大家對String都非常熟悉,我們也經常要用它來做字符串的連接什么的,例如:
String a =b+c file://b,c 都是String
但是在實際的編譯中卻是這樣:
String a=new StringBuffer().append(b).append(c).toString() 顯然,在一個簡單的語句中卻意外的多生成了2個對象:
.StringBuffer()
.toString返回的一個String
我們比較一下這兩段程序的性能:
程序片斷一:
StringBuffer s=new StringBuffer();
long start = System.currentTimeMillis();
for (int i=0;i<10000;i++){
s1+="a";
}
long stop = System.currentTimeMillis();
System.out.println(stop-start);
程序片斷二:
StringBuffer s=new StringBuffer();
long start=System.currentTimeMillis();
for (int i=0;i<10000;i++){
s.append("a");
}
long stop=System.currentTimeMillis();
System.out.println(stop-start);
比較一下結果,差距很明顯。
至于為什么String的連接這么做,因為String無法直接改變其長度,而必須采用StringBuffer的用法。
 我們看這個例子:
片斷1;
printWriter.print(x+y);//x,y為String
片斷2;
printWriter.print(x);
printWriter.print(y);
你覺得那個效率高一些。自己試驗一下,想想為什么。

參考:Java Performance and Scalability vol.1.
Think in java.


溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

主站蜘蛛池模板: 昌吉市| 连南| 昭平县| 连山| 军事| 崇仁县| 长葛市| 沂水县| 华坪县| 巴彦淖尔市| 额尔古纳市| 胶南市| 莱西市| 辛集市| 和龙市| 桃园市| 太仆寺旗| 武川县| 萨嘎县| 新密市| 扶余县| 高州市| 句容市| 潼南县| 舟山市| 阿勒泰市| 博兴县| 汶川县| 房产| 永新县| 沙田区| 昌平区| 富川| 定日县| 年辖:市辖区| 潜山县| 友谊县| 丁青县| 垣曲县| 禄丰县| 西充县|