在以下情况,内存中创建了几个String对象
原String: String source = "abcdefb"
将所有"b"替换为"gh"source.replace("b","gh");

解决方案 »

  1.   

    只有2个String对象,内部是用char[]来进行遍历的。
      

  2.   

    没人认为这种问题很无聊么?变着花样地问 String 有多少个对象,我不知道这种问题一共有多少个版本!
      

  3.   

    我不觉得这个问题很无聊啊,现在正在改进一个高负荷的JAVA应用,当工具在做长安测试时,出现CPU利用过高,内存波动很大,导致在GC整理内存时,出现异常。我从效率化分析工具(visualvm)上看,以上问题好像没有很好的表达出来。我只是抱怀疑的态度。想找大家确认下。我更像找个专家能从JAVA内核的基础上,明确的告诉我是这样的,而不是说我也是这样想的。