隨筆-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到內存,分配空間,執行  回復  更多評論
            
          主站蜘蛛池模板: 陆丰市| 华亭县| 太原市| 中方县| 淅川县| 中超| 中江县| 鄄城县| 资源县| 石阡县| 山丹县| 景洪市| 稻城县| 黔江区| 炎陵县| 句容市| 诸城市| 徐水县| 永昌县| 玛曲县| 施甸县| 临邑县| 肇源县| 湘西| 武宁县| 乌兰察布市| 富源县| 尤溪县| 镇坪县| 鹤岗市| 榆林市| 光泽县| 儋州市| 宝清县| 古田县| 陆川县| 罗山县| 东莞市| 西林县| 冷水江市| 福贡县|