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

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

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java 字符串連接的性能問題分析

Java 字符串連接的性能問題分析

2020-08-30 10:53Java之家 Java教程

這篇文章主要介紹了Java 字符串連接的性能問題分析的相關資料,需要的朋友可以參考下

Java中使用+作為字符串連接符,它是把多個字符串合并成一個字符串的方便途徑。對于單獨一行的輸出、或者較小的大小固定對象,使用連接符方便且合適。但是對于大規模的場景,字符串連接符變得有些不合時宜。

以連接N個字符串為列,重復的使用字符串連接符需要N的平方的時間量,最主要的原因是String類是不可變類導致的,即當連接兩個字符串時,它們的內容都要存在一次拷貝。每一次連接,原有的兩個字符串對象都不變,連接后的結果是一個新生成的對象。這種方式,不僅時間需求很大,而且對內存的要求也非常高。

如果拼接的字符串很多,使用字符串連接符的計算時間和對性能的消耗變得難以估算。為了使性能在接受范圍內,可以使用StringBuilder替代String,來連接字符串。

以下是兩種方式的測試代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<span style="font-size:18px;">public static void main(String[] args) {
     
    long start1 = System.currentTimeMillis();
    String result1 ="";
    for(int i = 0 ; i < 50000;i++){
      result1 += String.valueOf(i);
    }
    long end1 = System.currentTimeMillis();
    System.out.println("String Connect Time:"+(end1-start1)+"ms");
     
    long start2 = System.currentTimeMillis();
    StringBuilder result2 = new StringBuilder();
    for(int i = 0 ; i < 50000;i++){
      result2.append(i);
    }
    long end2 = System.currentTimeMillis();
    System.out.println("StringBulider Connect Time:"+(end2-start2)+"ms");
  }</span>

這兩中做法的差距非常大,我所做的測試中,第二種做法要比第一種做法高4到5個數量級。隨著連接數目的增多,兩種方式的性能差距也更加明顯。

總結一下:不要使用字符串連接符來連接多個字符串,除非系統對性能無要求。還有一點是,可以使用字符數組,或者每次只處理一個字符串,而不是將他們組合起來。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

原文鏈接:http://blog.csdn.net/wangshuang1631/article/details/52456809

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精精国产www视频在线观看免费 | 欧美同性猛男野外gay免费 | 被强迫调教的高辣小说 | 亚洲国产果果在线播放在线 | 3p文两男一女办公室高h | 亚洲精品成人 | 91插视频 | 国产一区二区三区免费在线视频 | 97久久精品午夜一区二区 | 欧美日韩在线一区 | 经典欧美gifxxoo动态图暗网 | 美女舒服好紧太爽了视频 | 久久亚洲伊人 | 国产成人精品福利色多多 | 日本小视频免费 | 湿好紧太硬了我太爽了 | 武侠古典久久亚洲精品 | 亚洲国产成人久久综合区 | 久久伊人免费 | 香蕉91xj.cc | 小小水蜜桃视频高清在线播放 | 全黄h全肉细节修仙玄幻文 全彩调教侵犯h本子全彩妖气he | 亚洲AV无码A片在线观看蜜桃 | 国产精品久久久久久搜索 | 魔镜号中文字幕 | 亚洲春色综合另类网蜜桃 | 国产成人高清精品免费观看 | 青春学堂在线观看 | www.亚洲色图 | 鸥美三级 | 国产一区二区三区丶四区 | 欧洲一级 | 精品久久看 | 国产一卡2卡3卡四卡国色天香 | 午夜福利理论片高清在线 | 美女脱了内裤让男生尿囗 | 天堂va在线 | 四虎一影院区永久精品 | 美女把小内内脱个精光打屁屁 | 亚洲国产天堂久久综合网站 | 动漫xnxx |