|
Virkne ir visticamākais mainīgais, ko izmanto Java programmēšanā, varbūt jūs domājat, ka nav ko teikt, vienkārši paņemiet to, bet virkņu apstrādei īpaši jāpievērš uzmanība, jo nejauša daudzu virkņu gadījumu izveide rada lielas problēmas sistēmas efektivitātei. Piemēram, veiksim testu, lai salīdzinātu String klases un StringBuffer izpildes efektivitāti: Mūsu skolotājs teica: Katru reizi, kad tiek pievienota virkne, tā atkal un atkal pieprasīs vietu no atmiņas, kas ir ļoti neefektīvi Katru reizi, kad tiek pievienots StringBuffer, nav nepieciešams uzreiz pieprasīt vietu no atmiņas, jo StringBuffer no sākuma pieprasa daudz atmiņas vietas, tāpēc tas ir ļoti efektīvs.
- import java.util.Date;
- public class test {
- /**
- * @param args
- */
- public static void main(String[] args) {
- // 武软论坛 www.itsvse.com
- Date da=new Date();
- System.out.println(da.toLocaleString());
- System.out.println("系统时间");
-
- String str1="1";
- for(int i=1;i<100000;i++){
- str1=str1+"1";
- }
- da=new Date();
- System.out.println(da.toLocaleString());
- System.out.println("String运行完时间");
-
- StringBuffer str2=new StringBuffer(1000);
-
- for(int i=1;i<100000;i++){
- str2.append("1");
- }
- da=new Date();
- System.out.println(da.toLocaleString());
- System.out.println("StringBuffer运行完时间");
-
- }
- }
Kopēt kodu
|