複習筆記-java桟與堆內存分配

先上下內存圖

這裏寫圖片描述

這裏寫圖片描述


        棧:保存局部變量的值,包括:1.用來保存基本數據類型的值;2.保存類的實例,即堆區對象的引用(指針)。也可以用來保存加載方法時的幀。

            例如字符串 String s=new String("hello");
            其中的String s存在桟中,而new String("hello");存在堆中,桟中的s存的是堆中的內存地址。

        堆:用來存放動態產生的數據,比如new出來的對象。注意創建出來的對象只包含屬於各自的成員變量,並不包括成員方法。因爲同一個類的對象擁有各自的成員變量,存儲在各自的堆中,但是他們共享該類的方法,並不是每創建一個對象就把成員方法複製一次。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章