Java程序要通過先編譯,後解釋兩個步驟java
編譯型:高級語言源碼 -->機器碼(一次性) 生成可執行程序,脫離開發環境,在指定平臺上運行。(C/C++/Objective-C/Swift/Kotlin)編程
解釋型:每執行一次,都須要編譯一次,效率低,可移植性高(JavaScript/Ruby/Python)windows
僞編譯型:瀏覽器
Java編譯後生成的是與平臺無關的字節碼(*.class文件),該字節碼文件面向JVM,用Java解釋器能夠來解釋執行這個字節碼文件。 編輯器
JVM(Java Virtual Machine)負責解釋字節碼文件,任意平臺的JVM向編譯器提供相同的編程接口(任意平臺JVM內部不一樣),而編譯器只須要面向JVM,生成JVM能理解的代碼,而後由JVM來解釋執行。在一些JVM的實現中,還會將JVM代碼轉換成特定系統的機器碼實現,從而提升執行效率。工具
JVM是Java跨平臺的關鍵部分。開發工具
下載安裝JDK(包括Java編譯器、Java運行時環境(JRE)、經常使用Java類庫),即Java標準版開發包spa
JRE包含JVM,JVM是核心虛擬機,JRE還包含運行Java程序的其餘環境支持。操作系統
ps:若是隻是運行Java程序,能夠只安裝JRE。若是要開發,下載JDK便可,JDK包含JRE。命令行
Java分爲:Java SE(JDK) 、Java EE (Java EE SDK->包含最新版JDK) 、Java ME 。
開發工具:JDK核心,包含了JRE
源代碼:Java核心類庫的源代碼
公共JRE:一個獨立的JRE系統,會向IE等瀏覽器和系統註冊Java運行時環境,這樣系統中任何應用程序均可以使用公共JRE。可是JDK裏有JRE,不必安裝公共JRE
ps:安裝路徑最好沒有空格。
JDK 9 引入新的JMOD格式,近似JAR格式,但JMOD能夠包含本地代碼和配置文件。
設置PATH環境變量
windows操做系統在Path的一系列路徑中依次查找命令
Linux設置PATH環境變量:
①進入當前用戶的home路徑,而後輸入:ls -a
②使用無格式編輯器打開 .base_profile 文件
③在該文件的PATH變量後添加JDK安裝路徑
④在.base_profile 文件最後添加導出PATH變量的語句
⑤從新登陸Linux平臺,或者執行以下命令,爲了運行該文件,讓文件設置中PATH變量值生效
第一個Java程序
Java源代碼可使用任何無格式的文本編輯器(Windows->記事本/Editplus | Linux->VI)
在記事本中新建一個文本文件,並輸入以下代碼:
Java嚴格區分大小寫
將上述文件保存爲HelloWorld.java,該文件就是Java程序的源程序了。
接下來就是編譯該Java源文件來生成字節碼。
編譯命令:javac
javac -d destdir srcFile
一般將字節碼文件放在當前路勁下
javac -d . HelloWorld.java
運行後在指定路徑下會生成一個HelloWorld.class文件
javac以類爲單位生成相應的字節碼文件,而且編譯命令中省略 -d ,則默認爲當前路徑。
ps:還可使用Editplus
運行命令:java
java Java類名
ps:java命令後面的參數是Java類名,不是字節碼的文件名,也不是源文件名。
先經過命令行進入HelloWorld.class所在的路徑
輸入:
java HelloWorld
能夠看到輸出
ps:一樣可使用Editplus
CLASSPATH環境變量:
在1.4之前版本的JDK中沒有設計在運行Java程序時到當前路徑下搜索Java類。也就意味着,即便當前路徑已經包含了HelloWorld.class ,並在當前路徑下執行java命令,系統同樣提示找不到HelloWorld 類。
JDK 1.5以上的版本也能夠設置CLASSPATH環境變量(一般用於加載第三方類庫)
若是想在運行Java程序時臨時指定JRE搜索Java類的路徑,則可使用-classpath選項(或用-cp選項,-cp是簡寫,做用徹底相同)
java -classpath dir1;dir2;dir3...;dirN Java類
多個路徑在windows平臺上以分號隔開,在Linux上以冒號隔開。