1.JVM
- JVM(Java Virtual Machine),Java虛擬機(jī)
- JVM是Java平臺(tái)無關(guān)性實(shí)現(xiàn)的關(guān)鍵
2.Java程序的執(zhí)行過程
源文件(.java)-->編譯器compiler--->字節(jié)碼文件(.class)-->
解釋器interpreter(JVM解釋執(zhí)行,把字節(jié)碼解釋成具體機(jī)器的執(zhí)行指令)-->
最終平臺(tái)可執(zhí)行程序
(一次編譯,到處運(yùn)行)
3.JDK
- JDK(Java Development Kit),Java語言的軟件開發(fā)工具包
- -javac ——編譯器,將源程序轉(zhuǎn)成字節(jié)碼;
- -Java——運(yùn)行編譯后的Java程序
4.JRE
- JRE(Java Runtime Environment)
- 包括JVM、Java核心類庫和支持文件
- 如果
只需要運(yùn)行Java程序,下載安裝JRE即可 - 如果要開發(fā)Java軟件,需要下載JDK
(JDK面向開發(fā)人員、JRE面向用戶) - 在JDK中附帶有JRE
5.JDK、JRE和JVM三者的關(guān)系
JDK中包含了JRE,JRE中又包含了JVM
- JRE = JVM + JavaSE標(biāo)準(zhǔn)類庫
- JDK = JRE + 開發(fā)工具集(例如Javac編譯工具等)
6.Java平臺(tái)
- JavaSE Java標(biāo)準(zhǔn)版,開發(fā)如QQ、Office、Eclipse等桌面程序;
- JavaEE Java企業(yè)版,JavaSE+JSP等等Web開發(fā)需要的技術(shù),主要用于電商網(wǎng)站、門戶網(wǎng)站的開發(fā)。
- JavaME Java微型版,用于移動(dòng)設(shè)備的開發(fā),現(xiàn)如今用的非常少。
7.Java的執(zhí)行流程
-
注意jdk配置環(huán)境變量時(shí)最好用
確切的絕對(duì)路徑: 配置好環(huán)境變量,重啟cmd方生效;
-
準(zhǔn)備一個(gè)文件,命名時(shí)候后綴為
.java,即Java文件;
-
裝了JDK,沒有配置環(huán)境變量,編譯時(shí)會(huì)報(bào)錯(cuò):
配置好環(huán)境變量后編譯成功:
編譯成功,生成二進(jìn)制字節(jié)碼文件,如本文第二節(jié)所言:
執(zhí)行程序: - 這里可以看到,一個(gè)Java文件中如果只有一個(gè)類時(shí),最好
Java文件的命名要跟代碼中的class(類名)相同,如此javac/java兩個(gè)命令的參數(shù)便不會(huì)沖突;
8.Java帶命令行參數(shù)的Java程序的執(zhí)行流程

code:
class ArgsDemo{
public static void main(String[] args) {
System.out.println(args[0]);
}
}
執(zhí)行出錯(cuò):
-
出錯(cuò)原因:在代碼中設(shè)置了參數(shù),在命令行執(zhí)行時(shí)沒有賦予參數(shù),賦予參數(shù)即可執(zhí)行:






