StringPool的底层原理深度剖析以及关键问题阐述(简单实现StringPool)
引用就是堆空间的内存首地址。==的作用就是比较首地址。String中的数组是final所以是不可分割的。
1.java7使用intern方法时,如果常量池中不存在该字符串,那么字符串常量池里面保存的是堆中对象;当常量池存在的时候,那么intern返回的就是常量池中保存的引用,如何实现字符串常量池的不可重复性?
答:
(1)两种情况StringTable保存的都是String的引用,对象仍然创建在堆空间中,只不过在java7之后 不会重复生成对象了。
(2)StringTable中的key就是..
原创
2021-05-04 21:07:57 ·
183 阅读 ·
0 评论