激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 第四色成人网 | 成人福利视频在线观看 | 国产视频在线播放 | 成年性羞羞视频免费观看无限 | 黄色高清免费网站 | 午夜视频在线观 | 91av在线影院| 一本视频在线观看 | 中文字幕观看 | 凹凸成人精品亚洲精品密奴 | 国产一区二区三区四区波多野结衣 | 中文字幕免费看 | 18视频在线观看娇喘 | 一级做a爱片久久毛片a高清 | 欧美色大成网站www永久男同 | 99精品国产小情侣高潮露脸在线 | chengrenzaixian| 精品久久久久久久久久久下田 | 黄色1级视频 | 久久久成人精品视频 | 亚洲热线99精品视频 | 色妞妞视频 | 粉嫩粉嫩一区二区三区在线播放 | 午夜视频免费在线观看 | av在线免费看网址 | 羞羞的视频在线免费观看 | 中国美女一级黄色大片 | 国产成人在线视频 | 青青草国产在线视频 | 成人毛片久久 | 欧美不卡| 国产合集91合集久久日 | 天天夜干 | 欧美国产一区二区三区激情无套 | 亚洲 综合 欧美 动漫 丝袜图 | 国产色视频一区 | 亚洲综合一区在线观看 | 天天色综合2 | 毛片视频免费播放 | 欧美一级毛片一级毛片 | 羞羞视频免费网站男男 |