Java必會基礎(chǔ)題:new Integer(1)與Integer.valueOf(1) 的區(qū)別

關(guān)于 Java 字符串 String 有一道很基礎(chǔ)的面試題烘嘱,相信很多人都遇到過昆禽,就是 String s = "a" 和 String s = new String("a") 的區(qū)別是什么?相信大家都能回答上來蝇庭。那么你知道這三者有什么區(qū)別么醉鳖?

Integer i = new Integer(1) ;
Integer i = Integer.valueOf(1) ;
Integer i = 1 ;
new Integer(1) 與 Integer.valueOf(1)

new Integer(1) :會新建一個對象;
Integer.valueOf(1) :使用對象池中的對象哮内,如果多次調(diào)用盗棵,會取得同一個對象的引用。

對象池機(jī)制

為了提高性能北发,Java 在 1.5 以后針對八種基本類型的包裝類纹因,提供了和 String 類一樣的對象池機(jī)制;讓我們看一下 Integer.valueOf(int i) 的源碼琳拨,就很容易理解了:

  • Integer.valueOf() 中有個內(nèi)部類 IntegerCache瞭恰,類似于一個常量數(shù)組,也叫對象池狱庇,它維護(hù)了一個 Integer 數(shù)組 cache碳抄,長度為(128+127+1)=256记某,意味著 Integer 緩存池的大小默認(rèn)為 -128 ~ 127 衅鹿;
  • Integer類中還有一個靜態(tài)代碼塊,默認(rèn)創(chuàng)建了數(shù)值【-128-127】的 Integer 緩存數(shù)據(jù)偷俭;所以當(dāng) - Integer.valueOf(1) 的時候,會直接在該在對象池找到該值的引用缰盏;
  • 在 jdk 1.8 中社搅,在啟動 JVM 的時候,可以通過配置來指定這個緩沖池的大小乳规。

Integer i = 1 與 Integer.valueOf(1)

Integer i = 1 ; 這種寫法叫做裝箱(基本類型與其對應(yīng)的包裝類型之間的賦值使用自動裝箱與拆箱完成)形葬,而裝箱操作是通過 Integer.valueOf(1) 完成的,所以:
Integer i = 1 等同于 Integer.valueOf(1)

其他基本類型對應(yīng)的緩沖池

  • Boolean:true , false
  • Short, Int, Long:-128 ~ 127
  • Byte, Character : \u0000 到 \u007F暮的,也就是 0 ~ 127
image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末笙以,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子冻辩,更是在濱河造成了極大的恐慌猖腕,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件恨闪,死亡現(xiàn)場離奇詭異倘感,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)咙咽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進(jìn)店門老玛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人钧敞,你說我怎么就攤上這事蜡豹。” “怎么了溉苛?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵镜廉,是天一觀的道長。 經(jīng)常有香客問我愚战,道長娇唯,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任寂玲,我火速辦了婚禮塔插,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘敢茁。我一直安慰自己佑淀,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著伸刃,像睡著了一般谎砾。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上捧颅,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天景图,我揣著相機(jī)與錄音,去河邊找鬼碉哑。 笑死挚币,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的扣典。 我是一名探鬼主播妆毕,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼贮尖!你這毒婦竟也來了笛粘?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤湿硝,失蹤者是張志新(化名)和其女友劉穎薪前,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體关斜,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡示括,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了痢畜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片垛膝。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡裁着,死狀恐怖繁涂,靈堂內(nèi)的尸體忽然破棺而出拱她,到底是詐尸還是另有隱情二驰,我是刑警寧澤秉沼,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布矗积,位于F島的核電站,受9級特大地震影響敞咧,放射性物質(zhì)發(fā)生泄漏棘捣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一休建、第九天 我趴在偏房一處隱蔽的房頂上張望乍恐。 院中可真熱鬧评疗,春花似錦、人聲如沸茵烈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽呜投。三九已至加匈,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間仑荐,已是汗流浹背雕拼。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留粘招,地道東北人悲没。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像男图,于是被迫代替她去往敵國和親示姿。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,627評論 2 350

推薦閱讀更多精彩內(nèi)容

  • 基本數(shù)據(jù)類型 基本類型逊笆,或者叫做內(nèi)置類型栈戳,是Java中不同于類(Class)的特殊類型。它們是我們編程中使用最頻繁...
    亞瑟銘閱讀 227評論 0 1
  • 三月八日!忙碌了一天! 早上晨檢难裆,有一孩子肚疼子檀,帶她看醫(yī)生! 中午,發(fā)現(xiàn)兒子的牙齒出了問題乃戈,我卻沒有空!安慰兒子忍...
    海深處閱讀 253評論 0 1
  • 本周溫馨時刻與點滴成果 一褂痰、健康 計劃冥想360分鐘,實際冥想360分鐘症虑。(勉強(qiáng)完成任務(wù)缩歪,被微視頻拍攝和宣講任務(wù)所...
    水墨0801閱讀 215評論 0 2