日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java连载3-编译与运行阶段详解JRE,JDK,JVM关系

發(fā)布時間:2025/3/15 java 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java连载3-编译与运行阶段详解JRE,JDK,JVM关系 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

·一、

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

二、Java的加載與執(zhí)行

1.Java程序運行包括:

(1)編譯階段:檢查Java源程序是否符合Java語法,符合語法就生成正常的字節(jié)碼文件(xxxx.class),字節(jié)碼文件中不是純粹的二進制,這種文件無法在操作系統(tǒng)中直接執(zhí)行

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

ii.用法:doc窗口,規(guī)則:javac java源程序路徑

iii.javac是一個java編譯工具

iv.一個java程序可以編譯生成多個.class文件

v.字節(jié)碼文件是最終要執(zhí)行的文件,所以說class文件生成之后,java源文件刪除并不會影響java程序的執(zhí)行。

vi.編譯結(jié)束之后,可以將.class文件拷貝到其他操作系統(tǒng)中執(zhí)行。

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

java.exe在dos窗口使用,規(guī)則為:

例如:存在一個文件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字節(jié)碼解釋為二進制文件

vi.操作系統(tǒng)會執(zhí)行二進制文件與底層的硬件平臺交互。

?

三、JDK,JRE,JVM關(guān)系

四、第一個Java程序

public class HelloWorld{public static void main(String[] args){System.ou.printtln("HelloWordl");}}

?

適配環(huán)境變量,將javac.exe和java.exe在dos環(huán)境中可以運行

方法:我的電腦-右鍵-屬性-高級系統(tǒng)設(shè)置-環(huán)境變量-path-編輯-新建-添加javac.exe和java.exe的地址。

?

目的:dos命令窗口是按照環(huán)境變量來查找可運行的程序的,因此必須添加目標程序的路徑。

五、我們編譯這個程序

?

編譯成功之后Dos窗口不報錯,在文件的旁邊生成一個.class文件

注意:

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

打開一個目標文件夾,在地址欄直接輸入cmd+回車,則直接Dos命令到這個文件夾下

(2)在Dos窗口下,不在目標程序的目錄,我們可以直接輸入javac,然后拖動這個文件到dos窗口

五、運行程序

注意:必須先切換到.class文件所在的目錄,在使用命令行才能運行,即使我們的環(huán)境變量設(shè)置好了,也不行。

六、ClassLoder是在哪個位置上搜索HelloWorld.class的字節(jié)碼文件的?

(1)默認情況下,ClassLoader從當前路徑下加載xxx.class字節(jié)碼文件

(2)配置classpath來指定搜索位置,classpath屬于Java語言中的環(huán)境變量,不屬于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.歡迎關(guān)注微信公眾號:傅里葉變換,后臺回復”禮包“,獲取大數(shù)據(jù)學習資料

?

轉(zhuǎn)載于:https://www.cnblogs.com/ruigege0000/p/11148890.html

總結(jié)

以上是生活随笔為你收集整理的Java连载3-编译与运行阶段详解JRE,JDK,JVM关系的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。