淺析Java程式的執行過程

劉成LC發表於2019-03-04

一、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版本問題


相關文章