String  是不可变的, 因为String的内存分配方式跟数组的一样,都是静态分配的。
例如:一个String s = "abc"; s = s + 1;在这里试图去改变s的值,但是实际上s = s + 1;是开辟了例外一个内存。s 的值还是没变。
        String 里面的方法是异步的。异步的性能要高,同步的安全性高。
StringBuild通常用单线程中,StringBuild的方法是异步的
StringBuffer通常用在多线程中, StringBuffer 的方法是同步的