兩個對象 一個在堆區 一個在字符串池 一個是xyz 一個是指向xyz的引用對象s ...
從面試題說起 這是一道很經典的面試題,在一本所謂的Java寶典上,我看到的 標准答案 是這樣的: 兩個,一個堆區的 xyz ,一個棧區指向 xyz 的s。 這個所謂的 標准答案 槽點太多,后面我們慢慢分析。 但是我覺得這個問題本身不具有什么意義,因為他沒有既定義 創建 的具體含義,又沒有指定 創建 的時間,是運行時嗎 包不包括類加載的時候 有沒有上下文代碼語境 也沒有定義實例是指什么實例,是指Ja ...
2021-01-17 17:46 0 303 推薦指數:
兩個對象 一個在堆區 一個在字符串池 一個是xyz 一個是指向xyz的引用對象s ...
http://www.iteye.com/topic/774673 羞愧呀,不知道多少人干過,我也干過,面壁去! 這帖是用來回復高級語言虛擬機圈子里的一個問題,一道Java筆試題的。 本來因為見得 ...
兩個對象,一個是靜態區的”xyz”,一個是用 new 創建在堆上的對象。 ...
引用自這位朋友:http://blog.sina.com.cn/s/blog_6a6b14100100zn6r.html 首先讓我們了解幾個概念: 棧:由JVM分配區域,用於保存線程執行的動作和數據引用。 堆:由JVM分配的,用於存儲對象等數據的區域。 常量池 ...
引用自這位朋友:http://blog.sina.com.cn/s/blog_6a6b14100100zn6r.html 你知道在java中除了8中基本類型外,其他的都是類對象以及其引用。所以 "xyz "在java中它是一個String對象.對於string類對象來說他的對象值是不能修改 ...
String str=new String("abc"); 緊接着這段代碼之后的往往是這個問題,那就是這行代碼究竟創建了幾個String對象呢? 答案應該是1個或者2個。 1個的情況:如果字符串池中已經存在了"abc"這個對象,那么直接在創建一個對象放入堆中,返回str引用。 2個的情況 ...
轉載自:http://www.cnblogs.com/ydpvictor/archive/2012/09/09/2677260.html String str=new String("abc"); 緊接着這段代碼之后的往往是這個問題,那就是這行代碼究竟創建了幾個String對象呢? 相信 ...