理解JVM對(duì)象內(nèi)存分配相關(guān)知識(shí)

標(biāo)題起的很大,但是我只想講一個(gè)比較容易令我困惑的問(wèn)題困介。

今天在刷一道簡(jiǎn)單的鏈表題目時(shí),又產(chǎn)生了困惑蘸际,這次結(jié)合之前的JVM知識(shí)希望把這個(gè)問(wèn)題徹底解決。

先上代碼

    public static Node reverse(Node head){

        if(head == null || head.next == null){
            return head;
        }


        Node next = null;
        Node pre = null;

        while (head != null){

            next = head.next;
            head.next = pre;

            pre = head;
            head = next;

        }


        return pre;
    }

代碼很簡(jiǎn)單徒扶,就是一個(gè)反轉(zhuǎn)鏈表粮彤,Node是一個(gè)普通的類(lèi)。

首先我們知道姜骡,JVM中导坟,聲明的對(duì)象引用存儲(chǔ)在棧中,它所代表的實(shí)際對(duì)象存儲(chǔ)在堆中圈澈。

Node a = new Node();

a這個(gè)對(duì)象引用存儲(chǔ)在棧中惫周,JVM同時(shí)也在堆中開(kāi)辟了一塊真實(shí)的內(nèi)存存儲(chǔ)這個(gè)Node對(duì)象,
棧中存儲(chǔ)的實(shí)際上是地址康栈,這個(gè)地址指向堆中的內(nèi)存

那么我上面的代碼中

        Node next = null;
        Node pre = null;

把它們聲明為null递递, 這時(shí)其實(shí)在堆中并沒(méi)有開(kāi)辟內(nèi)存喷橙,但是在棧中,占用了棧的空間登舞,只不過(guò)里面存儲(chǔ)的是null 值贰逾。

同時(shí)在java里對(duì)象傳遞的時(shí)候,傳遞的都是引用(也就是對(duì)象的地址)菠秒,這比傳遞整個(gè)對(duì)象高效的多疙剑。而基礎(chǔ)類(lèi)型,int践叠,double等傳遞的才是值言缤。

       Node next = null;
        Node pre = null;

        while (head != null){

            next = head.next;
            head.next = pre;

            pre = head;
            head = next;

        }

所以在這個(gè)循環(huán)中,一開(kāi)始head.next被賦值為pre (也就是null)

緊接著 pre=head , pre在棧中原本是null禁灼,現(xiàn)在變成了一個(gè)地址管挟,這個(gè)地址指向了堆中的head實(shí)際對(duì)象。而head.next并沒(méi)有改變匾二,在棧中暫時(shí)還是null哮独。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市察藐,隨后出現(xiàn)的幾起案子皮璧,更是在濱河造成了極大的恐慌,老刑警劉巖分飞,帶你破解...
    沈念sama閱讀 222,627評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件悴务,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡譬猫,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)别洪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)柳刮,“玉大人挖垛,你說(shuō)我怎么就攤上這事”牛” “怎么了痢毒?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,346評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵蚕甥,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我菇怀,道長(zhǎng)凭舶,這世上最難降的妖魔是什么晌块? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,097評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮库快,結(jié)果婚禮上摸袁,老公的妹妹穿的比我還像新娘义屏。我一直安慰自己,他們只是感情好闽铐,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,100評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布兄墅。 她就那樣靜靜地躺著踢星,像睡著了一般隙咸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上五督,一...
    開(kāi)封第一講書(shū)人閱讀 52,696評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音副签,去河邊找鬼基矮。 笑死淆储,一個(gè)胖子當(dāng)著我的面吹牛家浇,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播钢悲,決...
    沈念sama閱讀 41,165評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼譬巫,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼督笆!你這毒婦竟也來(lái)了芦昔?” 一聲冷哼從身側(cè)響起娃肿,我...
    開(kāi)封第一講書(shū)人閱讀 40,108評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤珠十,失蹤者是張志新(化名)和其女友劉穎凭豪,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體嫂伞,經(jīng)...
    沈念sama閱讀 46,646評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡帖努,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,709評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了拼余。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,861評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡凡橱,死狀恐怖亭姥,靈堂內(nèi)的尸體忽然破棺而出稼钩,到底是詐尸還是另有隱情致份,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布绍载,位于F島的核電站,受9級(jí)特大地震影響击儡,放射性物質(zhì)發(fā)生泄漏蝠引。R本人自食惡果不足惜阳谍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,196評(píng)論 3 336
  • 文/蒙蒙 一矫夯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧训貌,春花似錦、人聲如沸递沪。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,698評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至桩了,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間圣猎,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,804評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工送悔, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留爪模,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,287評(píng)論 3 379
  • 正文 我出身青樓洁段,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親祠丝。 傳聞我的和親對(duì)象是個(gè)殘疾皇子除嘹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,860評(píng)論 2 361

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,326評(píng)論 25 707
  • 在Web開(kāi)發(fā)中尉咕,HTML提供了下拉列表的實(shí)現(xiàn)叠蝇,就是使用 元素實(shí)現(xiàn)一個(gè)下拉列表年缎,在其中每個(gè)下拉列表項(xiàng)使用 表示即可。...
    AiPuff閱讀 423評(píng)論 0 1
  • 一個(gè)人要有足夠的氣度单芜, 才能容下生活中的酸甜苦辣。 一個(gè)人要有長(zhǎng)遠(yuǎn)的眼光洲鸠, 才能看開(kāi)人生里的風(fēng)吹雨打。 生活中淤齐,不...
    山東女子學(xué)院閱讀 220評(píng)論 0 0
  • 創(chuàng)作背景:2016年上海市普陀區(qū)舉辦的世界無(wú)煙日征文比賽袜匿。 歷史的巨輪滾滾向前更啄,回首清朝末年欽差大臣林則徐虎門(mén)銷(xiāo)煙...
    Tulip曉閱讀 384評(píng)論 0 0
  • 文/白草 橘生南則為橘怪嫌,生于北則為枳。那時(shí)年少岩灭,讀到屈原在《橘頌》中寫(xiě)到“受命不遷”,便忍不住反復(fù)地去念這個(gè)詞“受...
    零落霜結(jié)閱讀 321評(píng)論 0 0