原文:面試題之String str = new String("abc"); 創建了幾個對象

今天去面試的時候碰到了這個問題:String str new String abc 創建了幾個對象,回來自己研究並查閱資料才發現答錯了。。網上的爭論不少,有的說是兩個,答案應該是:兩個或一個理由解釋如下:都了解java 的字符串常量緩沖區 字符串池,字符串常量池 ,如果代碼是這樣的: java view plain copy Stringstr newString abc 並且 abc 字符串之前 ...

2016-09-15 18:14 3 13635 推薦指數:

查看詳情

String str=new String("abc");創建了幾個String對象

String str=new String("abc"); 我們可以把上面這行代碼分成String str、=、"abc"和new String()四部分來看待。String str只是定義了一個名為strString類型的變量,因此它並沒有創建對象;=是對變量str進行初始化 ...

Mon Nov 23 06:33:00 CST 2015 0 4776
面試題系列:new String("abc")創建了幾個對象

new String("abc")創建了幾個對象 面試官考察點猜想 這種問題,考察你對JVM的理解程度。涉及到常量池、對象內存分配等問題。 涉及背景知識詳解 在分析這個問題之前,我們先來了解一下JVM的組成,如圖所示。 在JVM1.8中,內存划分為堆、程序計數器、本地方發棧、方法區 ...

Wed Oct 27 21:15:00 CST 2021 0 850
String str = new String("abc")創建了幾個對象?結合源碼解析

String str = new String("abc")創建了幾個對象?結合源碼解析   首先,我們看一下jdk源碼:    大家都知道String本身就是個引用類型,我們可以將String str = new String("adc")分為四部分來看,String str ...

Wed Jan 10 00:37:00 CST 2018 0 1535
String s=new String("abc")創建了幾個對象?

String str=new String("abc"); 緊接着這段代碼之后的往往是這個問題,那就是這行代碼究竟創建了幾個String對象呢? 答案應該是1個或者2個。 1個的情況:如果字符串池中已經存在了"abc"這個對象,那么直接在創建一個對象放入堆中,返回str引用。 2個的情況 ...

Tue Jan 09 17:13:00 CST 2018 0 4385
String a=new String("abc")創建了幾個對象

String str=new String("abc"); 緊接着這段代碼之后的往往是這個問題,那就是這行代碼究竟創建了幾個String對象呢? 相信大家對這道題並不陌生,答案也是眾所周知的,2個。 接下來我們就從這道題展開,一起回顧一下與創建String對象相關的一些JAVA知識 ...

Thu Apr 16 04:16:00 CST 2015 0 5816
String s=new String("abc")創建了幾個對象?

轉載自:http://www.cnblogs.com/ydpvictor/archive/2012/09/09/2677260.html String str=new String("abc"); 緊接着這段代碼之后的往往是這個問題,那就是這行代碼究竟創建了幾個String對象呢? 相信 ...

Mon Apr 15 20:47:00 CST 2013 2 3417
String s=new String("abc")創建了幾個對象?

String str=new String("abc"); 緊接着這段代碼之后的往往是這個問題,那就是這行代碼究竟創建了幾個String對象呢? 相信大家對這道題並不陌生,答案也是眾所周知的,2個。 接下來我們就從這道題展開,一起回顧一下與創建String對象相關的一些JAVA知識 ...

Sun Sep 09 17:43:00 CST 2012 19 98302
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM