posts - 4,  comments - 0,  trackbacks - 0
          本篇學習棧內存基本知識,附上JAVA代碼
           1package com.howard.jvm;
           2/**
           3 * JAVA的內存管理 (一) 棧內存
           4 * Stack棧 棧內存  JAVA程序的運行區。 是在線程創建時創建,它的生命周期是跟隨線程的生命周期,線程結束棧內存也就釋放,對于棧來說不存在垃圾回收問題
           5 * 只要線程一結束,該棧就Over。
           6 * 棧中的數據都是以棧幀(Stack Frame)的格式存在,棧幀是一個內存區塊,是一個數據集,是一個有關方法(Method)和運行期數據的數據集,當一個方法
           7 * A被調用時就產生了一個棧幀F1,并壓入到棧中,A方法又調用B方法,于是產生棧幀F2也被壓入棧,執行完畢后,先彈出F2棧幀,然后再彈出F1棧幀,遵循“
           8 * 后進先出”的原則。
           9 * 棧幀中主要保存3類數據:
          10 * 1. 本地變量(local Variables),包括輸入參數和輸出參數以及方法內變量;
          11 * 2. 棧操作(Operand Stack),記錄入棧和出棧操作;
          12 * 3. 棧幀數據(Frame Data),包括類文件、方法等等。
          13 *
          14 * @author Administrator
          15 *
          16 */

          17public class StackMemory {
          18
          19    public void methodA() {
          20        System.out.println("產生一個棧幀F1");
          21        int i = 1;
          22        System.out.println("變量i 放入到棧幀F1中");
          23        System.out.println("準備產生一個棧幀F2");
          24        methodB("hello world");
          25    }

          26
          27    public String methodB(String arg) {
          28        System.out.println("產生一個棧幀F2");
          29        System.out.println("參數arg 和 方法返回值 放入到棧幀F2中");
          30        return arg;
          31    }

          32
          33    public static void main(String[] args) {
          34        StackMemory sm = new StackMemory();
          35        System.out.println("準備產生一個棧幀F1,因為將要調用methodA方法");
          36        sm.methodA();
          37    }

          38
          39}

          40



          posted on 2011-05-20 22:14 賀斌 閱讀(978) 評論(0)  編輯  收藏

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


          網站導航:
           
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 尤溪县| 仁布县| 阳曲县| 资源县| 会理县| 湖北省| 五原县| 雷波县| 科技| 东乌珠穆沁旗| 新竹县| 绥化市| 东台市| 闽侯县| 富阳市| 温州市| 龙口市| 溆浦县| 南宁市| 新丰县| 龙泉市| 龙胜| 盐源县| 扬中市| 彰化县| 开封市| 阿巴嘎旗| 贵南县| 南漳县| 精河县| 上蔡县| 西藏| 临泉县| 玛沁县| 枣强县| 奉化市| 古田县| 洪湖市| 赫章县| 芦山县| 大方县|