posts - 8, comments - 13, trackbacks - 0, articles - 43
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
          簡單的說,jvm的堆是存放對象的地方,棧存放的是基本數據類型和對象的引用。jvm棧是運行時的單位,jvm堆是存儲的單位。java中每個線程都有一個棧與之對應,這個很容易理解,每一個線程都有其特殊的執行流程邏輯,因此需要一個獨立的線程棧與之對應。jvm棧因為是運行時單位,所以里面存儲的信息都是跟當前線程相關的東西,如局部變量、運行時狀態,返回值等。而jvm堆是真正存放數據的地方,多個jvm棧可以共享堆中的數據。
          jvm堆和棧分離的好處,從軟件設計的角度看,棧代表處理邏輯,堆代表數據,分而治之,邏輯更加清楚。因為堆中的內容可以被共享,節省了空間。從面向對象的角度,對象的屬性,即數據,被存放在堆中,而對象中的方法,則是運行邏輯,存放在棧中。
          平時我們在eclipse啟動程序,我們可以通過-Xms,-Xmx來設置大小,其實是在設置初始堆空間,和最大堆空間的大小。

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 绵阳市| 灵台县| 若尔盖县| 措美县| 临桂县| 三原县| 故城县| 山西省| 双辽市| 鄢陵县| 乃东县| 合阳县| 浦北县| 盐源县| 开平市| 屏南县| 新疆| 莱芜市| 南昌市| 涿州市| 汽车| 沂水县| 莎车县| 商城县| 酉阳| 义马市| 子长县| 东海县| 天全县| 常州市| 始兴县| 屯门区| 灵璧县| 信宜市| 邛崃市| 徐闻县| 嘉鱼县| 泗水县| 无棣县| 赣榆县| 四平市|