String s = new String(" a ") 到底產生幾個物件?
老生常談的一個梗,到2020了還在爭論,你們一天天的,哎哎哎,我不是針對你一個,我是說在座的各位都是人才!
上圖紅色的這3個箭頭,對於通過new
產生一個字串(”宜春”)時,會先去常量池中查詢是否已經有了”宜春”物件,如果沒有則在常量池中建立一個此字串物件,然後堆中再建立一個常量池中此”宜春”物件的拷貝物件。
也就是說準確答案是產生了一個或兩個物件,如果常量池中原來沒有 ”宜春” ,就是兩個。反之就是一個。
是的!如果面試官問到,回答一個或兩個即可,但是…畢竟…畢竟
畢竟我和各位都是人才,java知識底蘊不能如此短淺,這題還沒謝幕我們還能對面試官多嗶嗶幾句:字串常量池在不同版本的jvm中可能位置不同,那麼這又是一個老梗了,到這裡,歡迎評論區暢談,估計面試官會眼前一亮小夥有點東西!
最後,若有不足或者不正之處,歡迎指正批評,感激不盡!如果有疑問歡迎留言,絕對第一時間回覆!
歡迎各位關注我的公眾號,裡面有一些java學習資料和一大波java電子書籍,比如說周志明老師的深入java虛擬機器、java程式設計思想、核心技術卷、大話設計模式、java併發程式設計實戰…都是java的聖經,不說了快上Tomcat車,咋們走!最主要的是一起探討技術,嚮往技術,追求技術,說好了來了就是盆友喔…
相關文章
- JAVA面試題 String s = new String("xyz");產生了幾個物件?Java面試題物件
- String s=new String("abc")建立了幾個物件?物件
- 【Java面試】new String("abc")到底建立了幾個物件?Java面試物件
- String s="a"+"b"+"c",到底建立了幾個物件?物件
- new String("yefeng")建立了幾個物件物件
- 面試題系列:new String("abc")建立了幾個物件面試題物件
- String s = “hello“和String s = new String(“hello“)的區別
- 建立了幾個String物件?物件
- 【JDK】分析 String str=““ 與 new String()JDK
- String a = "abc" 與String b = new String("abc")的區別
- 【JAVA】Java中 File f=new File(String parent ,String child)Java
- Javascript String物件方法JavaScript物件
- Redis的String物件Redis物件
- 轉:經典String str = new String("abc")記憶體分配問題記憶體
- 常見物件-String類物件
- String物件的equals()與 = =物件
- String和StringBuffer的幾個小程式
- JavaScript 複習之 String 物件JavaScript物件
- 常見物件-String類-2物件
- 常見物件-String類-3物件
- 常見物件-String類-4物件
- Integer.valueof(String s)和Integer.parseInt(String s)的具體區別是什麼?
- String,String Builder,String Buffer-原始碼UI原始碼
- Java String 物件,你瞭解多少?Java物件
- JavaScript String 物件擴充套件方法JavaScript物件套件
- 動態字串%d %s ------android String字串Android
- Failed to execute user defined function(anonfun$concatStr$1: (map<string,string>, string) => string)AIFunction
- 幾張圖輕鬆理解String.intern()
- 生產環境頻繁記憶體溢位,原來就是因為這個“String類”記憶體溢位
- ava String 物件,你真的瞭解了嗎?物件
- js字串string轉object物件 - 方法篇JS字串Object物件
- 關於建立String物件的抉擇物件
- Array String物件的方法和屬性物件
- JavaScript String 物件例項深入研究JavaScript物件
- 2020-11-23Command物件的三個主要方法和String and String Builder類 字串建造物件UI字串
- java.lang.String 與stringJava
- 【RANDOM】使用dbms_random.string產生隨機字串的用法及應用random隨機字串
- JavaScript 基礎(二) – 建立 function 物件的方法, String物件, Array物件JavaScriptFunction物件