Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 16249|Odpoveď: 0

[Tipy] Nevyhnutné pre efektívny chod Javy: StringBuffer je efektívnejší ako String

[Kopírovať odkaz]
Zverejnené 6. 11. 2014 10:58:08 | | | |

Reťazec je najpravdepodobnejšia premenná používaná v programovaní v Jave, možno si myslíte, že nie je čo povedať, jednoducho si to vezmite, ale spracovanie reťazcov si vyžaduje našu pozornosť najviac, pretože náhodné vytváranie veľkého počtu inštancií reťazcov prináša veľké problémy s efektivitou systému.

Napríklad urobme test na porovnanie efektivity vykonávania triedy String a StringBuffer:

Náš učiteľ povedal: Pri každom pridaní Stringu bude opakovane žiadať priestor z pamäte, čo je veľmi neefektívne

                     Pri každom pridaní StringBufferu nie je potrebné žiadať priestor z pamäte naraz, pretože StringBuffer vyžaduje veľa pamäťového priestoru od začiatku, takže je veľmi efektívny.



  1. import java.util.Date;






  2. public class test {

  3.         /**
  4.          * @param args
  5.          */
  6.         public static void main(String[] args) {
  7.                 // 武软论坛 www.itsvse.com
  8.                 Date da=new Date();
  9.                 System.out.println(da.toLocaleString());
  10.                 System.out.println("系统时间");
  11.                
  12.                 String str1="1";
  13.                 for(int i=1;i<100000;i++){
  14.                         str1=str1+"1";
  15.                 }
  16.                 da=new Date();
  17.                 System.out.println(da.toLocaleString());
  18.                 System.out.println("String运行完时间");
  19.                
  20.                 StringBuffer str2=new StringBuffer(1000);
  21.                
  22.                 for(int i=1;i<100000;i++){
  23.                         str2.append("1");
  24.                 }
  25.                 da=new Date();
  26.                 System.out.println(da.toLocaleString());
  27.                 System.out.println("StringBuffer运行完时间");
  28.                
  29.         }

  30. }
Kopírovať kód






Predchádzajúci:Stiahnutie balíka kompatibility Office System Pack 2007
Budúci:Hovoríme o testovaní softvérovej kompatibility
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com