斩获Offer ——关于java语言中字符串不变性

斩获Offer ——关于java语言中字符串不变性

一,字符不变性的优点

(1)不可变对象可以提高String Pool(字符串常量池)的效率和安全性。

如果你知道一个对象是不可变动 ,那么需要拷贝的对象的内容时就不用复制它本身二只是复制它的地址,复制地址(通常一个指针的大小)需要很小的内存,效率也很好。二对于其他引用同一个对象的其他变量也不会造成影响。

(2)不可变对象对于多线程安全

因为在多线程同时进行的情况下,一个可变对象的值很可能被其他线程改变这样会造成不可预期的结果么人使用不可变对象就可以避免这种情况出现。

java将String设成不可变最大的原因是效率(地址内存小)和安全(多线程不会产生错误)。

发布了5 篇原创文章 · 获赞 1 · 访问量 114

猜你喜欢

转载自blog.csdn.net/For_user/article/details/104616131