淺析java程序的執行過程


       在研究任何一門語言時,無論是面向過程的c,c++(面向過程和面向對象),還是面向對象的.net,java等,弄清語言執行過程至關重要。

 何為語言執行過程?

        所謂語言執行過程,指對於任何一門語言,如java,.net語言,從源代碼到機器代碼的過程。

      研究過C#,c++,vb的讀者,可能很清楚程序需要經歷如下執行過程:

    

    那么java語言的執行過程是怎樣的呢?本篇文章將重點來解決該問題。

一  jdk內容概述


       當安裝好jdk后(本示例jdk版本為11.0.1,不同版本,目錄有細微差別,但bin目錄包含的exe是一樣的),打開bin目錄,有兩個重要的exe文件:javac.exe(編譯器)

和java.exe(.class文件執行器),詳細見下圖

 

二  原理分析


      java程序執行過程分為兩步,下圖為流程示意圖

       第一步:將java源碼(.java文件)通過編譯器(javac.exe)編譯成JVM文件(.class文件)

       第二步:將JVM文件通過java.exe執行,輸出結果

       通過如上分析,我們發現JVM至關重要,其向上屏蔽了操作系統的差異,也正因為JVM的該作用,才使java這門編程語言能夠實現跨平台,

其原理大致可描述為如下:

       

 

 三 例子解析


      通過兩種方式來檢測java程序執行過程,手寫方式和編譯器方式。

(一)手寫java源程序 

1.用notepad++手寫一個java程序,並保存為JavaRunProcess.java。

Tip:文件名盡量與類名一致

//測試java運行過程
public class JavaRunProcess {
    public static void main(String[] args){
        System.out.println("Test java Runing Process");
    }
}

 2.用javac.exe將剛保存的JavaRunProcess.java文件編譯成JavaRunProcess.class文件

3.java.exe執行JavaRunProcess.class文件,輸出結果

 

 (二)通過Intellij IDEA編寫java源程序

如下圖,當我們編譯好JavaRunProcess源程序后,點擊編譯,就會產生JavaRunProcess.class文件

四 一些小建議


  1.在配置jdk環境變量時,一般需要配置三個參數:JAVA_HOME,PATH和CLASSPATH,在jdk 1.5后,可以不用配置CLASSPATH變量;

  2.在配置jdk變量JAVA_HOME和PATH變量時,它們之間應配置為這樣關系:JAVA_HOME變量存儲jdk安裝路徑,PATH變量引用JAVA_HOME變量

   JAVA_HOME:C:\Program Files\Java\jdk-11.0.1

   PATH:%JAVA_HOME%\bin

  Tip:這樣配置好處是,當在同一台電腦配置多個jdk時,方便jdk的切換(當切換jdk時,只需改變JAVA_HOME變量接口)

  3.注意jdk版本問題

五  版權區


 

  • 感謝您的閱讀,若有不足之處,歡迎指教,共同學習、共同進步。
  • 博主網址:http://www.cnblogs.com/wangjiming/。
  • 極少部分文章利用讀書、參考、引用、抄襲、復制和粘貼等多種方式整合而成的,大部分為原創。
  • 如您喜歡,麻煩推薦一下;如您有新想法,歡迎提出,郵箱:2098469527@qq.com。
  • 可以轉載該博客,但必須著名博客來源。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM