论坛首页 招聘求职论坛

百度面经·大三娃的百度面经

浏览 13637 次
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2012-04-19  
newlife111 写道
String str1=new String("abc"); 一个

String str2=new String("abc"); 一个

String str3=“abc”;0个

jvm在载入class的时候,会将class里的常量项载入方法区。
也就是说"abc" 在载入的时候就已经创建好了,放在了内存。

String str1=new String("abc");
一般在面试题里都是两个,所以这个真不好说。

在大家拍砖的时候,建议去看看常量池再来拍。

不说了,呵呵,不知道你们几年了,我6年了。






我认为考官的意思是没有前置条件,就这三行代码论证的。如果如你分析的,写清楚了,面试官也会完全同意的的分析而且比简单的写上2个印象分更高。
这个跟工作多少年也没什么关系,可能初学者对这个知识点思考的比较多,查阅的资料比较多,理解的深刻,也能很好的回答,关键是理解jvm内存中对于String的特殊处理方式。
0 请登录后投票
   发表时间:2012-04-19  
String str1=new String("abc"); 一个
这个str1 不是一个引用对象么
new String("abc");  这个就不必说了
0 请登录后投票
   发表时间:2012-04-19  
我的理解 String str1=new String("abc");
String str2=new String("abc");

两个 new String("abc");在memory heap 是两个


一起四个对象
String str1="abc";
String str2="abc";
一起三个对象

"abc" 在memory heap 是同一个

他们在 String intern  pool 里面都是一个

0 请登录后投票
   发表时间:2012-04-19  
至于说创建几个string对象 是不是有点 绕字面意思的味道?
0 请登录后投票
   发表时间:2012-04-19  
sdujq 写道
cttnbcj 写道
最后考了个智力题,在1m*1m*1m的盒子里放40mm直径的乒乓球 尽量多怎么放
S啊,明显的把球压碎粉末后

这其实也算个好答案 O(∩_∩)O哈哈哈~



先烧成灰,再放!
0 请登录后投票
论坛首页 招聘求职版

跳转论坛:
Global site tag (gtag.js) - Google Analytics