开发者社区> 问答> 正文

问一个老生常谈的问题。

String str = "a" + "b";真的只产生一个对象吗?

有javap -c能查看字节码是 ldc #3 //String ab,那真的表示只产生一个对象么?

字节码信息只显示String从常量池弹出;但并未显示,常量池的解析进程进入CONSTANT_String_info后的情况啊~~

进程解析CONSTANT_String_info的过程中,jvm又怎么连接"a" + "b"?

是不是只产生一个对象,默认StringBuilder连接?

又或者,

String str = "a" + "b";

String str_ = str + "c";(2)

像(2)所显示的字节码过程是一样的?

展开
收起
爵霸 2016-06-08 10:28:10 2051 0
1 条回答
写回答
取消 提交回答
  • 字节码只能做定性的分析,这类问题你要是真感兴趣,还真得去iteye的HHVM圈子跑一趟。那里多是真正搞技术的,不像OSC,抖机灵的太多

    2019-07-17 19:31:18
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Go语言路上踩过的坑 立即下载
阿里云技术面试红宝书 立即下载
阿里云技术面试红宝书 立即下载

相关实验场景

更多