1. 程式人生 > >Java連載3-編譯與執行階段詳解&JRE,JDK,JVM關係

Java連載3-編譯與執行階段詳解&JRE,JDK,JVM關係

·一、

1.JDK下載地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html

二、Java的載入與執行

1.Java程式執行包括:

(1)編譯階段:檢查Java源程式是否符合Java語法,符合語法就生成正常的位元組碼檔案(xxxx.class),位元組碼檔案中不是純粹的二進位制,這種檔案無法在作業系統中直接執行

i.需要用JDK中自帶的javac.exe命令進行java程式編譯

ii.用法:doc視窗,規則:javac java源程式路徑

iii.javac是一個java編譯工具

iv.一個java程式可以編譯生成多個.class檔案

v.位元組碼檔案是最終要執行的檔案,所以說class檔案生成之後,java原始檔刪除並不會影響java程式的執行。

vi.編譯結束之後,可以將.class檔案拷貝到其他作業系統中執行。

(2)執行階段:JDK安裝之後,除了自帶一個javac.exe之外,還有另一個工具/命令,java.exe負責執行階段

java.exe在dos視窗使用,規則為:

例如:存在一個檔案A.class,則命令為:java A

注意:不要寫為:java A.class,且不要接檔案地址,接的是類名

執行過程:

i.Dos視窗

ii.輸入 java A

iii.java.exe命令會啟動JVM,JVM會啟動類載入器Classloader。

iv.Classloader會在硬碟上搜索A.class檔案,找到之後,裝載到JVM

v.JVM將A.class位元組碼解釋為二進位制檔案

vi.作業系統會執行二進位制檔案與底層的硬體平臺互動。

 

三、JDK,JRE,JVM關係

四、第一個Java程式

 

public class HelloWorld{

  public static void main(String[] args){

    System.ou.printtln("HelloWordl");

  }

}

 

 

適配環境變數,將javac.exe和java.exe在dos環境中可以執行

方法:我的電腦-右鍵-屬性-高階系統設定-環境變數-path-編輯-新建-新增javac.exe和java.exe的地址。

 

目的:dos命令視窗是按照環境變數來查詢可執行的程式的,因此必須新增目標程式的路徑。

五、我們編譯這個程式

 

編譯成功之後Dos視窗不報錯,在檔案的旁邊生成一個.class檔案

注意:

(1)選取相對路徑的快捷鍵:(適用於相對路徑時快速部署)

開啟一個目標資料夾,在位址列直接輸入cmd+回車,則直接Dos命令到這個資料夾下

(2)在Dos視窗下,不在目標程式的目錄,我們可以直接輸入javac,然後拖動這個檔案到dos視窗

五、執行程式

注意:必須先切換到.class檔案所在的目錄,在使用命令列才能執行,即使我們的環境變數設定好了,也不行。

六、ClassLoder是在哪個位置上搜索HelloWorld.class的位元組碼檔案的?

(1)預設情況下,ClassLoader從當前路徑下載入xxx.class位元組碼檔案

(2)配置classpath來指定搜尋位置,classpath屬於Java語言中的環境變數,不屬於windows。

(3)方法:classpath=絕對路徑(在windows中配置,名稱要用classpath)

(4)一旦指定了classpath,那麼類載入器只會去指定的路徑下載入.class檔案,不過這不是問題,我們在windows下配置多個路徑不就行了。

(5)路徑中的“.”代表當前目錄;路徑中的“..”代表上級目錄。

七、原始碼:HelloWorld

地址:https://github.com/ruigege66/Java/blob/master/HelloWorld/

2.CSDN:https://blog.csdn.net/weixin_44630050(心悅君兮君不知-睿)

3.部落格園:https://www.cnblogs.com/ruigege0000/

4.歡迎關注微信公眾號:傅立葉變換,後臺回覆”禮包“,獲取大資料學習資料

&n