1.a copy of the value in s1 is binded to s2
2.copy the data on the heap that the pointer in string refers to
3.copy the pointer, the length, and the capacity that are on the stack.
4.copy the data on the string pool that the pointer in string refers to