隨筆-29  評論-5  文章-0  trackbacks-0
          程序執行過程:
          1. Load到內存區。
          在硬盤上有一塊程序代碼,要想運行,編譯好的東西load到內存。然后操作系統代碼找到

          main方法,然后執行。

          2. 找到main方法開始執行。
          3. 執行過程中的內存管理。
          一般分為四部分:
          a. code segment: 存放代碼,代碼區
          b. data segment: 靜態變量,字符串常量
          c. stack(棧): 局部變量
          d. heap(堆): new出來的東西
          posted on 2010-05-29 22:11 豪情 閱讀(1873) 評論(2)  編輯  收藏 所屬分類: Java基礎

          評論:
          # re: Java程序執行過程 2010-05-29 22:15 | 豪情
          1.Java程序執行包括加載類和實例化類兩個階段。
          2.加載類階段與實例化類階段都是按照先父類后子類的順序進行。
          3. 加載類完成,立即形成Class類的一個對象,名字就是所加載類的類名,然后,該Class類的對象完成所加載類的靜態成員的初始化。
          4.JVM 啟動的時候就加載了Class類,并且分配空間,完成了相關的初始化。
          5.一個類的靜態成員并不存在于new出來的堆區空間中,而是存在該類對應的Class類對象的空間里。


          1.將程序編譯成字節碼的不是JDK;
          JDK的全拼是java development kit,就是java開發工具包。
          包括一些函數庫或編譯程序之類的。
          將程序編譯成字節碼的應該是JVM。
          2.你在從main函數開始,執行一個程序的時候,一個JVM實例也隨之產生,
          它的任務就是執行java程序,可以說JVM開始于一個main函數。
          JVM啟動后執行你的java程序,JVM加載并解析你在程序里寫的類(已經被編譯成.class了)。
          3.靜態變量在類被加載的時候被初始化。

          from:http://topic.csdn.net/u/20081124/18/f394f255-0e34-48d8-a5e3-3db8ac4e8fc7.html  回復  更多評論
            
          # re: Java程序執行過程 2013-06-15 16:52 | passerby
          .class文件由jvm翻譯,再load到內存,分配空間,執行  回復  更多評論
            
          主站蜘蛛池模板: 定兴县| 临朐县| 凤冈县| 左贡县| 松滋市| 鹤岗市| 丽江市| 甘泉县| 巴青县| 静海县| 乌拉特中旗| 茂名市| 余江县| 吕梁市| 高尔夫| 惠水县| 定日县| 尉氏县| 潞城市| 麦盖提县| 昂仁县| 长宁区| 陆良县| 苍南县| 二手房| 资溪县| 乐都县| 连城县| 资兴市| 乌苏市| 怀集县| 水城县| 新宾| 泉州市| 宜章县| 平武县| 宜宾市| 萨迦县| 云安县| 封丘县| 丰城市|