
网站救助计划
1.为阅读体验,本站无任何广告,也无任何盈利方法,站长一直在用爱发电,现濒临倒闭,希望有能力的同学能帮忙分担服务器成本
2.捐助10元及以上同学,可添加站长微信lurenzhang888,备注捐助,网站倒闭后可联系站长领取本站pdf内容
3.若网站能存活下来,后续将会持续更新内容
在 Java 8 中,String
内部使用 char
数组存储数据。并且被声明为final
,因此它不可被继承。
public final class String implements java.io.Serializable, Comparable<String>, CharSequence {
private final char value[];
}
为什么String
要设计成不可变的呢(不可变性的好处):
1.可以缓存 hash
值( )
因为 String
的hash
值经常被使用,例如String
用做 HashMap
的 key
。不可变的特性可以使得 hash
值也不可变, 因此只需要进行一次计算。
2.常量池优化
String
对象创建之后,会在字符串常量池中进行缓存,如果下次创建同样的对象时,会直接返回缓存的引用。
3.线程安全
String
不可变性天生具备线程安全,可以在多个线程中安全地使用。
本站链接:https://www.mianshi.online,如需勘误或投稿,请联系微信:lurenzhang888
点击面试手册,获取本站面试手册PDF完整版