public class Example8 {
public static void main(String[] args) throws Exception {
String a1 = "";
String a2 = "";
String a3 = "";
StringBuilder sb2 = new StringBuilder();
StringBuilder sb3 = new StringBuilder();
long start1Time = System.currentTimeMillis();
for (int i = 0; i < 10000000; i++) {
//需要就创建一个StringBuilder对象,上一次创建的StringBuilder由系统自动回收
StringBuilder sb1 = new StringBuilder();
sb1.append("someString1\t");
sb1.append("someString2\t");
sb1.append("someString3\t");
sb1.append("someString4\t");
sb1.append("someString5\t");
sb1.append("someString6\t");
sb1.append("someString7\t");
sb1.append("someString8\t");
sb1.append("someString9\t");
sb1.append("someString10\n");
sb1.append("someString11\t");
sb1.append("someString12\t");
sb1.append("someString13\t");
sb1.append("someString14\t");
sb1.append("someString15\t");
sb1.append("someString16\t");
sb1.append("someString17\t");
sb1.append("someString18\t");
sb1.append("someString19\t");
sb1.append("someString20\n");
sb1.append("someString21\t");
sb1.append("someString22\t");
sb1.append("someString23\t");
sb1.append("someString24\t");
sb1.append("someString25\t");
sb1.append("someString26\t");
sb1.append("someString27\t");
sb1.append("someString28\t");
sb1.append("someString29\t");
sb1.append("someString30\n");
sb1.append("someString31\t");
sb1.append("someString32\t");
sb1.append("someString33\t");
sb1.append("someString34\t");
sb1.append("someString35\t");
sb1.append("someString36\t");
sb1.append("someString37\t");
sb1.append("someString38\t");
sb1.append("someString39\t");
sb1.append("someString40\n");
sb1.append("someString41\t");
sb1.append("someString42\t");
sb1.append("someString43\t");
sb1.append("someString44\t");
sb1.append("someString45\t");
sb1.append("someString46\t");
sb1.append("someString47\t");
sb1.append("someString48\t");
sb1.append("someString49\t");
sb1.append("someString50\n");
sb1.append("someString51\t");
sb1.append("someString52\t");
sb1.append("someString53\t");
sb1.append("someString54\t");
sb1.append("someString55\t");
sb1.append("someString56\t");
sb1.append("someString57\t");
sb1.append("someString58\t");
sb1.append("someString59\t");
sb1.append("someString60\n");
sb1.append("someString61\t");
sb1.append("someString62\t");
sb1.append("someString63\t");
sb1.append("someString64\t");
sb1.append("someString65\t");
sb1.append("someString66\t");
sb1.append("someString67\t");
sb1.append("someString68\t");
sb1.append("someString69\t");
sb1.append("someString70\n");
sb1.append("someString71\t");
sb1.append("someString72\t");
sb1.append("someString73\t");
sb1.append("someString74\t");
sb1.append("someString75\t");
sb1.append("someString76\t");
sb1.append("someString77\t");
sb1.append("someString78\t");
sb1.append("someString79\t");
sb1.append("someString80\n");
sb1.append("someString81\t");
sb1.append("someString82\t");
sb1.append("someString83\t");
sb1.append("someString84\t");
sb1.append("someString85\t");
sb1.append("someString86\t");
sb1.append("someString87\t");
sb1.append("someString88\t");
sb1.append("someString89\t");
sb1.append("someString90\n");
sb1.append("someString91\t");
sb1.append("someString92\t");
sb1.append("someString93\t");
sb1.append("someString94\t");
sb1.append("someString95\t");
sb1.append("someString96\t");
sb1.append("someString97\t");
sb1.append("someString98\t");
sb1.append("someString99\t");
sb1.append("someString100\n");
a1 = sb1.toString();
}
long end1Time = System.currentTimeMillis();
System.out.println("方案一耗时:" + (end1Time - start1Time));
long start2Time = System.currentTimeMillis();
for (int i = 0; i < 10000000; i++) {
sb2.delete(0, sb2.length());
sb2.append("someString1\t");
sb2.append("someString2\t");
sb2.append("someString3\t");
sb2.append("someString4\t");
sb2.append("someString5\t");
sb2.append("someString6\t");
sb2.append("someString7\t");
sb2.append("someString8\t");
sb2.append("someString9\t");
sb2.append("someString10\n");
sb2.append("someString11\t");
sb2.append("someString12\t");
sb2.append("someString13\t");
sb2.append("someString14\t");
sb2.append("someString15\t");
sb2.append("someString16\t");
sb2.append("someString17\t");
sb2.append("someString18\t");
sb2.append("someString19\t");
sb2.append("someString20\n");
sb2.append("someString21\t");
sb2.append("someString22\t");
sb2.append("someString23\t");
sb2.append("someString24\t");
sb2.append("someString25\t");
sb2.append("someString26\t");
sb2.append("someString27\t");
sb2.append("someString28\t");
sb2.append("someString29\t");
sb2.append("someString30\n");
sb2.append("someString31\t");
sb2.append("someString32\t");
sb2.append("someString33\t");
sb2.append("someString34\t");
sb2.append("someString35\t");
sb2.append("someString36\t");
sb2.append("someString37\t");
sb2.append("someString38\t");
sb2.append("someString39\t");
sb2.append("someString40\n");
sb2.append("someString41\t");
sb2.append("someString42\t");
sb2.append("someString43\t");
sb2.append("someString44\t");
sb2.append("someString45\t");
sb2.append("someString46\t");
sb2.append("someString47\t");
sb2.append("someString48\t");
sb2.append("someString49\t");
sb2.append("someString50\t");
sb2.append("someString51\t");
sb2.append("someString52\t");
sb2.append("someString53\t");
sb2.append("someString54\t");
sb2.append("someString55\t");
sb2.append("someString56\t");
sb2.append("someString57\t");
sb2.append("someString58\t");
sb2.append("someString59\t");
sb2.append("someString60\n");
sb2.append("someString61\t");
sb2.append("someString62\t");
sb2.append("someString63\t");
sb2.append("someString64\t");
sb2.append("someString65\t");
sb2.append("someString66\t");
sb2.append("someString67\t");
sb2.append("someString68\t");
sb2.append("someString69\t");
sb2.append("someString70\n");
sb2.append("someString71\t");
sb2.append("someString72\t");
sb2.append("someString73\t");
sb2.append("someString74\t");
sb2.append("someString75\t");
sb2.append("someString76\t");
sb2.append("someString77\t");
sb2.append("someString78\t");
sb2.append("someString79\t");
sb2.append("someString80\n");
sb2.append("someString81\t");
sb2.append("someString82\t");
sb2.append("someString83\t");
sb2.append("someString84\t");
sb2.append("someString85\t");
sb2.append("someString86\t");
sb2.append("someString87\t");
sb2.append("someString88\t");
sb2.append("someString89\t");
sb2.append("someString90\n");
sb2.append("someString91\t");
sb2.append("someString92\t");
sb2.append("someString93\t");
sb2.append("someString94\t");
sb2.append("someString95\t");
sb2.append("someString96\t");
sb2.append("someString97\t");
sb2.append("someString98\t");
sb2.append("someString99\t");
sb2.append("someString100\n");
a2 = sb2.toString();
}
long end2Time = System.currentTimeMillis();
System.out.println("方案二耗时:" + (end2Time - start2Time));
long start3Time = System.currentTimeMillis();
for (int i = 0; i < 10000000; i++) {
sb3.setLength(0);
sb3.append("someString1\t");
sb3.append("someString2\t");
sb3.append("someString3\t");
sb3.append("someString4\t");
sb3.append("someString5\t");
sb3.append("someString6\t");
sb3.append("someString7\t");
sb3.append("someString8\t");
sb3.append("someString9\t");
sb3.append("someString10\n");
sb3.append("someString11\t");
sb3.append("someString12\t");
sb3.append("someString13\t");
sb3.append("someString14\t");
sb3.append("someString15\t");
sb3.append("someString16\t");
sb3.append("someString17\t");
sb3.append("someString18\t");
sb3.append("someString19\t");
sb3.append("someString20\n");
sb3.append("someString21\t");
sb3.append("someString22\t");
sb3.append("someString23\t");
sb3.append("someString24\t");
sb3.append("someString25\t");
sb3.append("someString26\t");
sb3.append("someString27\t");
sb3.append("someString28\t");
sb3.append("someString29\t");
sb3.append("someString30\n");
sb3.append("someString31\t");
sb3.append("someString32\t");
sb3.append("someString33\t");
sb3.append("someString34\t");
sb3.append("someString35\t");
sb3.append("someString36\t");
sb3.append("someString37\t");
sb3.append("someString38\t");
sb3.append("someString39\t");
sb3.append("someString40\n");
sb3.append("someString41\t");
sb3.append("someString42\t");
sb3.append("someString43\t");
sb3.append("someString44\t");
sb3.append("someString45\t");
sb3.append("someString46\t");
sb3.append("someString47\t");
sb3.append("someString48\t");
sb3.append("someString49\t");
sb3.append("someString50\t");
sb3.append("someString51\t");
sb3.append("someString52\t");
sb3.append("someString53\t");
sb3.append("someString54\t");
sb3.append("someString55\t");
sb3.append("someString56\t");
sb3.append("someString57\t");
sb3.append("someString58\t");
sb3.append("someString59\t");
sb3.append("someString60\n");
sb3.append("someString61\t");
sb3.append("someString62\t");
sb3.append("someString63\t");
sb3.append("someString64\t");
sb3.append("someString65\t");
sb3.append("someString66\t");
sb3.append("someString67\t");
sb3.append("someString68\t");
sb3.append("someString69\t");
sb3.append("someString70\n");
sb3.append("someString71\t");
sb3.append("someString72\t");
sb3.append("someString73\t");
sb3.append("someString74\t");
sb3.append("someString75\t");
sb3.append("someString76\t");
sb3.append("someString77\t");
sb3.append("someString78\t");
sb3.append("someString79\t");
sb3.append("someString80\n");
sb3.append("someString81\t");
sb3.append("someString82\t");
sb3.append("someString83\t");
sb3.append("someString84\t");
sb3.append("someString85\t");
sb3.append("someString86\t");
sb3.append("someString87\t");
sb3.append("someString88\t");
sb3.append("someString89\t");
sb3.append("someString90\n");
sb3.append("someString91\t");
sb3.append("someString92\t");
sb3.append("someString93\t");
sb3.append("someString94\t");
sb3.append("someString95\t");
sb3.append("someString96\t");
sb3.append("someString97\t");
sb3.append("someString98\t");
sb3.append("someString99\t");
sb3.append("someString100\n");
a3 = sb3.toString();
}
long end3Time = System.currentTimeMillis();
System.out.println("方案三耗时:" + (end3Time - start3Time));
}
}
run:
方案一耗时:15280
方案二耗时:8326
方案三耗时:8040
BUILD SUCCESSFUL (total time: 32 seconds)
方案三在数据量比较多的时候,清空StringBuilder对象里的数据是最快的
方案三在数据量比较少的时候,清空StringBuilder对象里的数据依然是最快的
public class Example8 {
public static void main(String[] args) throws Exception {
String a1 = "";
String a2 = "";
String a3 = "";
StringBuilder sb2 = new StringBuilder();
StringBuilder sb3 = new StringBuilder();
long start1Time = System.currentTimeMillis();
for (int i = 0; i < 10000000; i++) {
//需要就创建一个StringBuilder对象,上一次创建的StringBuilder由系统自动回收
StringBuilder sb1 = new StringBuilder();
sb1.append("someString1\t");
sb1.append("someString2\t");
sb1.append("someString3\t");
sb1.append("someString4\t");
sb1.append("someString5\t");
sb1.append("someString6\t");
sb1.append("someString7\t");
sb1.append("someString8\t");
sb1.append("someString9\t");
sb1.append("someString10\n");
a1 = sb1.toString();
}
long end1Time = System.currentTimeMillis();
System.out.println("方案一耗时:" + (end1Time - start1Time));
long start2Time = System.currentTimeMillis();
for (int i = 0; i < 10000000; i++) {
sb2.delete(0, sb2.length());
sb2.append("someString1\t");
sb2.append("someString2\t");
sb2.append("someString3\t");
sb2.append("someString4\t");
sb2.append("someString5\t");
sb2.append("someString6\t");
sb2.append("someString7\t");
sb2.append("someString8\t");
sb2.append("someString9\t");
sb2.append("someString10\n");
a2 = sb2.toString();
}
long end2Time = System.currentTimeMillis();
System.out.println("方案二耗时:" + (end2Time - start2Time));
long start3Time = System.currentTimeMillis();
for (int i = 0; i < 10000000; i++) {
sb3.setLength(0);
sb3.append("someString1\t");
sb3.append("someString2\t");
sb3.append("someString3\t");
sb3.append("someString4\t");
sb3.append("someString5\t");
sb3.append("someString6\t");
sb3.append("someString7\t");
sb3.append("someString8\t");
sb3.append("someString9\t");
sb3.append("someString10\n");
a3 = sb3.toString();
}
long end3Time = System.currentTimeMillis();
System.out.println("方案三耗时:" + (end3Time - start3Time));
}
}
方案一耗时:1628
方案二耗时:990
方案三耗时:856
BUILD SUCCESSFUL (total time: 4 seconds)