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

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


          網站導航:
           
          主站蜘蛛池模板: 明水县| 玉环县| 曲靖市| 五大连池市| 梧州市| 饶河县| 长海县| 宜兰县| 泗阳县| 新丰县| 永寿县| 普陀区| 美姑县| 措勤县| 左权县| 钟祥市| 罗江县| 宜昌市| 绩溪县| 萍乡市| 大田县| 曲阜市| 侯马市| 龙胜| 民丰县| 韩城市| 江门市| 溧水县| 石渠县| 铁岭县| 晴隆县| 奉化市| 宜宾市| 邢台市| 金沙县| 泸西县| 永宁县| 馆陶县| 开平市| 盐亭县| 普格县|