在Java中substring产生的结果不共享问题探讨

这个问题其实涉及到 JVM 方法区中的 “常量池”概念。什么叫“常量池”呢?如果 Java 程序遇到字符串就 new 一 个对象出来,其实是很浪费奢侈的行为。因此,JVM 针对字符串的获取做了优化,在方法区中新增一块“字符串常量池” 用来存放字符串常量,每次创建字符串常量时,首先判断字符串常量池是否存在该字符串,如果存在则返回该字符串的 引用实例;如果不存在,就实例化一个再放入池中。为啥能实现这个
相关文章
相关标签/搜索