【来源】这是山东科技大学张峰老师制作的网课,整理了一下,方便学习与复习。
String比较特别,可以直接给一个常量,不用new。
new出来的对象是放在堆里的,常量字符串是放在另外一个内存区域里,这个区域叫做数据区。
执行第二行的时候,会首先在常量数据区里找有没有跟“Monday”相同的字符串,如果有的话,直接返回它的内容。
s2一new的话,它的字符串对象是放在堆里面的,s1和s2的对象位于不同的内存区域。
append:后面追加字符串。
线程安全:操作前会首先加锁,防止多线程同时操作时出现数据不一致问题(并发处理)。
因为要加锁,进行并发处理,所以StringBuffer类效率较低。
如果在单线程环境下,或则没有多线程的环境下,即确定使用环境不存在并发情况,可以用StringBuilder类,它没有同步处理。
为JAVA的8种基本类型提供类,使它们可以成为对象。