|
String to najbardziej prawdopodobna zmienna używana w programowaniu Java, może myślisz, że nie ma o czym mówić, po prostu to podnieś, ale przetwarzanie stringów wymaga naszej szczególnej uwagi, ponieważ losowe tworzenie dużej liczby instancji stringów stwarza poważne problemy z efektywnością systemu. Na przykład, zróbmy test porównający efektywność wykonania klasy String i StringBuffer: Nasz nauczyciel powiedział: Za każdym razem, gdy dodaje się String, powtarza się żądanie przestrzeni z pamięci, co jest bardzo nieefektywne Za każdym razem, gdy dodaje się StringBuffer, nie ma potrzeby żądania przestrzeni z pamięci od razu, ponieważ StringBuffer od początku wymaga dużej ilości przestrzeni w pamięci, więc jest bardzo wydajny.
- 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运行完时间");
-
- }
- }
Skopiuj kod
|