文章预览
此答案节选自我们最近弄的 面试鸭小程序 ,更多 大厂常问面试题 ,可以点击下面的小程序进行阅读哈! 目前这个面试刷题小程序刚出,详细可以看这篇文章: 这次,终于不用再被八股文吊打了! 回归面试题! 会创建 1 或 2 个字符串对象 。 主要有两种情况: 1、如果字符串常量池中不存在字符串对象“yupi”的引用,那么它会在堆上创建两个字符串对象,其中一个字符串对象的引用会被保存在字符串常量池中。 示例代码(JDK 1.8): String s = new String( "yupi" ); 对应的字节码: ldc 命令用于判断字符串常量池中是否保存了对应的字符串对象的引用,如果保存了的话直接返回。 如果没有保存的话,会在堆中创建对应的字符串对象并将该字符串对象的引用保存到字符串常量池中。 2、如果字符串常量池中已存在字符串对象“yupi”的引用,则只会
………………………………