隨筆-29  評論-5  文章-0  trackbacks-0
          程序執(zhí)行過程:
          1. Load到內(nèi)存區(qū)。
          在硬盤上有一塊程序代碼,要想運(yùn)行,編譯好的東西load到內(nèi)存。然后操作系統(tǒng)代碼找到

          main方法,然后執(zhí)行。

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

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


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

          from:http://topic.csdn.net/u/20081124/18/f394f255-0e34-48d8-a5e3-3db8ac4e8fc7.html  回復(fù)  更多評論
            
          # re: Java程序執(zhí)行過程 2013-06-15 16:52 | passerby
          .class文件由jvm翻譯,再load到內(nèi)存,分配空間,執(zhí)行  回復(fù)  更多評論
            

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 苏尼特左旗| 鄱阳县| 秦皇岛市| 奇台县| 大城县| 吉木乃县| 祁东县| 治多县| 浦江县| 辉县市| 英超| 兰坪| 十堰市| 平果县| 濮阳市| 城口县| 青岛市| 栖霞市| 包头市| 广灵县| 保德县| 阳原县| 琼结县| 泰和县| 荃湾区| 南雄市| 左云县| 五指山市| 滁州市| 文化| 罗江县| 奈曼旗| 忻城县| 和田县| 辽阳县| 孟州市| 雷波县| 双柏县| 湟中县| 景谷| 区。|