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

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


          網站導航:
           
          主站蜘蛛池模板: 抚松县| 永修县| 安图县| 竹山县| 望都县| 宜春市| 长白| 巴塘县| 新源县| 包头市| 平昌县| 钦州市| 弥渡县| 新巴尔虎右旗| 河间市| 壶关县| 太原市| 台北市| 南投县| 深水埗区| 昭通市| 罗江县| 济南市| 抚松县| 高阳县| 凤凰县| 义乌市| 黄骅市| 广东省| 乌拉特后旗| 广西| 黄浦区| 张掖市| 丰县| 祁东县| 延川县| 杂多县| 东乌| 东台市| 商河县| 广州市|