String s=new String("abc")产生了几个对象?[权威面试版]

以下总结是我逛论坛 将零零碎碎的知识整理起来,方便自己记忆和阅读,顺便分享出来给大家学习。


若 String s=new String("abc"); 为第一句代码
则会产生两个对象
一个在对象池中
一个在堆中



若 String s=new String("abc"); 或 String s = "abc"; 出现过
则只产生一个对象
此对象在堆中


管他几个,记住两点:

1、面试遇到了,答2个。顺便鄙视该公司,99.99出题人自己也不知道jvm究竟搞出几个对象。

2、做字符串连接用StringBuffer,少用+。


看完本章节觉得对自己都帮助的,写个评论顶顶大笑

原文地址:https://www.cnblogs.com/Jhaiha0/p/8465291.html