String/StringBuffer/StringBuilder三姐妹

StringBuffer 一半用于拼接字符串,不需要新建空间,并且速度比String快的多

使用append()进行拼接

String——>StringBuffer:通过StringBuffer的构造方法

StringBuffer——>String:tostring()

String string = buffer.toString();

  String  StringBuffer  StringBuilder

推出版本 JDK1.0  JDK1.0   JDK1.5

是否可变 不可变  可变    可变

线程安全 安全   安全    不安全

运行速度 最慢   快    最快

占用内存 最多   少    最少

Java class文件结构 和常量池 
      我们都知道,Java程序要运行,首先需要编译器将源代码文件编译成字节码文件(也就是.class文件)。然后在由JVM解释执行。
      class文件是8位字节的二进制流 。这些二进制流的涵义由一些紧凑的有意义的项 组成。比如class字节流中最开始的4个字节组成的项叫做魔数 (magic),其意义在于分辨class文件(值为0xCAFEBABE)与非class文件。

其中,在class文件中有一个非常重要的项——常量池 。这个常量池专门放置源代码中的符号信息(并且不同的符号信息放置在不同标志的常量表中)。

String <(StringBuffer,StringBuilder)的原因
String:字符串常量
StringBuffer:字符串变量
StringBuilder:字符串变量
从上面的名字可以看到,String是“字符串常量”,也就是不可改变的对象。

http://blog.csdn.net/mengxin1995/article/details/51897712


你可能感兴趣的:(String/StringBuffer/StringBuilder三姐妹)