當前位置:
首頁 > 知識 > 讓人疑惑的代碼,竟成大多公司面試題熱門!

讓人疑惑的代碼,竟成大多公司面試題熱門!

來自:網路

小編今天給大家看的這個筆試題

當年可是火遍大江南北

不妨你先看看到底會不會

這是關於一段令人疑惑的Java代碼

真題在此,誰敢不服

你覺得簡單,那執行一下

真的能如你所願?

一個是true,一個是false!

這是為什麼呢?

和大多數人心裡想的不一樣吧!

心中是不是有一萬個草泥馬?

不少不懂的就裝B去百度了......

這裡給解釋一下:

根據Java編譯機制,.java文件在編譯以後會生成.class文件給JVM載入執行,於是找到.class文件,反編譯看了一下,發現編譯器在編譯我們的代碼時,很調皮(聰明的)的在我們聲明的變數加上了valueOf方法,代碼變成了如下:

valueOf方法的實現原理

我們發現,Integer的作者在寫這個類時,為了避免重複創建對象,對Integer值做了緩存,如果這個值在緩存範圍內,直接返回緩存好的對象,否則new一個新的對象返回,那究竟這個緩存到底緩存了哪些內容呢?看一下IntegerCache這個類:

這是一個內部靜態類,該類只能在Integer這個類的內部訪問,這個類在初始化的時候,會去載入JVM的配置,如果有值,就用配置的值初始化緩存數組,否則就緩存-128到127之間的值。

再來看看我們之前的代碼:

以下代碼執行結果:

看完這個,是不是明白了呢

小編拉你進粉絲微信群

不是在文章評論里回

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員之家 的精彩文章:

松本行弘:編程是一生的事業
解決bug的難度
1000 贊的程序員高薪職業建議
你這代碼有問題啊!

TAG:程序員之家 |

您可能感興趣

民國七大奇觀之一,最讓人討厭的包辦婚姻竟成了人人羨慕的一段佳話
被影評人狂懟的瘮人「爛片」,竟成奧斯卡最大遺珠
此人大字不識一個,被人逼著當上皇帝,最後竟成為一代明君
坑你沒商量?大數據前我們竟成了「透明人」
吐槽大會:好好的「傢具照」竟成了「內涵圖」?真相令人笑翻
這塊商代甲骨,因為上面一個「神秘」的字,竟成為難得的寶貝
魏延臨死前大喊四個字,成為他的絕句,現竟成了很多人的口頭禪!
一個毫無實戰經驗的人竟成歷史上最大聯盟的統帥,沒人不服他!
老公竟成了睡上鋪的兄弟:比無性婚姻更可怕的是這個!
命案現場,鸚鵡竟成唯一證人!
曾被吐槽丑的這些「面相」,現竟成了高級特徵?八成女人笑出了聲
和末代皇后婉容私通的那個人是誰?這個人最後竟成了千萬富翁?
體香的誘惑有多大?竟成為男女交往的第一標準!
皇帝給滿人起了一特殊「稱呼」,說漢人不配,後竟成一個罵人的詞
這個國家的首都竟成了猴城?原來這還是人類的鍋!
一個目不識丁的人,被人強迫推上帝位,後來竟成為史上公認的明君
把大米炒一下,竟成了一味葯!趕緊分享給家人!
打人竟成了一門學術?古代刑罰那麼不講道理的嗎?
掃碼支付竟成國人專享!為何發達國家卻不喜歡?答案讓人意想不到
受禪台董卓被殺前高喊的一句話,竟成為眾人流傳的笑柄!