采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,请问下以下两种情况是否这么理解 1.String str = new String(“a”);执行该语句的时候意思时候会在堆产生一个a的对象还有常量池也会生成一个a的对象,然后str引用指向的是堆内存的对象 2.String a = "a"执行该语句的话a引用指向的是常量池的对象
同学好,是的哈,但是 new String(“a”)的时候,a只在堆创建(1.8以后),在常量池里没有
老师,请问下String s = new String("a") + new String("a");这个语句生成的aa是存放在那里。这句话是等价于String s= new String("aa")呢还是String s = "aa"
同学好,sorry,前面那个问题仔细看了下,上一个回答更正一下, new String(“a”)的时候,a既在堆创建(1.8以后,遇到new就会在堆创建),也在常量池里创建"a" 所以String s = new String("a") + new String("a")和后面两个不等价
老师,这边还有两个问题不是很 1。那String s = new String("a") + new String("a"); s指向的aa是存放在哪里呢 2。执行一个方法的时候是会往虚拟机栈中压入一个栈桢还是一个方法中的每个语句就是一个栈桢 第二个问题在书看到的描述事“执行一个方法的的时候就会往虚拟机栈中压入一个栈桢”,但是老师你后面讲的那个图(add(int , int)例子),意思是方法中的一个语句就会往虚拟机栈中压入一个栈桢么。
登录后可查看更多问答,登录/注册
招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航
1.8k 27
2.7k 22
1.2k 15
1.4k 14
1.3k 14