@Test
public void test() throws CloneNotSupportedException {
/*
* 浅复制,深复制
* 浅复制是复制对象,属性还是一致的
* 深复制是复制对象和属性,两个完全是隔离的。
*
* string 互相赋值,都是将栈内元素指向字符串常量池的索引。当其中一字符串改变的时候,另一个字符串指向不受影响。
*
* stringBuffer 和 stringBuilder 互相赋值,都是栈内元素指向同一个堆内元素,再由堆内元素指向同一个数据库常量池索引。
* 当改变常量池索引的时候,两个字符串都会同时受到影响。
* */
String a = "1";
String b = a;
System.out.println(a == b);
a = "2";
System.out.println(a);
System.out.println(b);
System.out.println(a == b);
StringBuilder c = new StringBuilder("3");
StringBuilder d = c;
c.replace(0, 1, "4");
System.out.println(c);
System.out.println(d);
}