隨筆-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到內存,分配空間,執行  回復  更多評論
            
          主站蜘蛛池模板: 崇礼县| 鄂尔多斯市| 天全县| 祁连县| 汉阴县| 琼中| 新和县| 洮南市| 平顶山市| 手机| 凤冈县| 双流县| 兴业县| 玛多县| 巴彦县| 靖安县| 汝阳县| 平舆县| 金门县| 辉县市| 怀集县| 九寨沟县| 岗巴县| 贵阳市| 濮阳市| 尖扎县| 荆州市| 青铜峡市| 三穗县| 莱州市| 军事| 项城市| 繁昌县| 富宁县| 方正县| 莱州市| 宜章县| 翼城县| 台州市| 盐城市| 栖霞市|