专栏名称: 程序员鱼皮
鹅厂全栈开发,持续分享编程技法和实用项目
今天看啥  ›  专栏  ›  程序员鱼皮

new String("yupi") 一共创建了几个对象?

程序员鱼皮  · 公众号  ·  · 2024-07-19 13:00
    

文章预览

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

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览