线程安全性
说道有关string的线程安全性,大家想到的肯定时stringbuffer和stringbuilder。现在问一句string的大家就可能突然发蒙。
首先string是线程安全的,很多人给了一个啼笑皆非的原因,因为string类是final的……这个final的作用也就是不能继承,和线程安全性貌似没有关系。主要原因是string内部存储字符串的char数组以及和char数组相关的信息都是final的,这就保证了string对象生成的那一刻他在内存里就是不可变的。
线程安全性
说道有关string的线程安全性,大家想到的肯定时stringbuffer和stringbuilder。现在问一句string的大家就可能突然发蒙。
首先string是线程安全的,很多人给了一个啼笑皆非的原因,因为string类是final的……这个final的作用也就是不能继承,和线程安全性貌似没有关系。主要原因是string内部存储字符串的char数组以及和char数组相关的信息都是final的,这就保证了string对象生成的那一刻他在内存里就是不可变的。