一. 面试题及剖析
1. 今日面试题
我们去面试时,面试官在考察我们对String的掌握情况时,经常会问到如下题目:
String s=new String("xyz")中产生了几个对象?
2. 题目剖析很多基础不够扎实的求职者,对这个题目的答案往往都拿不准,有的人说创建了2个对象,也有的人说创建了1个对象,甚至还有说创建3个对象的!莫衷一是.....
我们乍一看到这个题目,可能会觉得这个题目也不难,你可能会直接给出1个对象、2个对象或3个对象这样的答案,但是如果我们深究一下,很多人就会对这个题目的答案犹疑不决了!
这个题目,其实涉及到的知识点是很多的,比如引用变量与对象的区别、Java的内存分区等,如果我们对这些知识点不熟悉,这个题目其实是很难回答正确的!
那么这个题目的答案到底是什么呢?让我们带着这些疑问开始今天的面试题分析吧。
二. Java内存分区在开始今天的面试题之前,我先来带大家回顾一下Java中的内存分区,因为今天的内容,与内存分区有着紧密的联系。