Java的歷史故事和背景就不多說了,有興趣的朋友可以自己前往維基百科看。
今天我們來談談下載和安裝Java,首先請先到甲骨文的官網,依照你的作業系統進行安裝Java17版本。
安裝完了以後,首先來說說剛剛安裝的Java17 JDK中包含了甚麼東西:
javac: 在編寫Java的程式碼時,會將檔案的副檔名
儲存為.java
的檔案格式,但是這個.java
檔案電腦(甚至Java本身)是無法讀懂它裡面的寫的東西是什麼,而javac
是專屬於Java的編譯器,它會將這個.java
內的程式碼編譯成Java看得懂的檔案內容,例如xxx.java
透過javac
的編譯後會變成xxx.class
的檔案,這時Java就可以讀懂這個檔案內的內容是什麼了。
java: 這邊的java
指的是執行Java應用程式的工具,它會使用JVM
編譯和執行Java的應用程式。
JRE: JRE
中包含了Java SE API
和 JVM
這兩個東西,Jave SE API
指的是Java已經把很多在軟體開發常用的功能包裝好的一個東西,不需要由使用者從頭自己寫過,只要去使用這些API
就能夠達到所寫好的功能。
(例如今天我想喝一杯珍奶,我可以直接到飲料店去購買珍奶,而不需要自己泡紅茶、買鮮奶、買珍珠,再調配成一杯珍奶)。
JVM: JVM
是將javac
所編譯的.class
副檔名的檔案再次編譯成電腦所能看懂得機器碼(machine code),例如000001111
這串常常在電影或電視上看到,不是給人讀的東西。Java之所以那麼廣泛的被運用有一部份就是因為它有JVM
能夠將相同的程式碼編譯給不同的平台(windows、Linux、macOS)使用,這也是為什麼需要下載對應作業系統的JDK,因為裡面所包含的JVM
需要對應使用的作業系統。
(例如今天一本書要給各個不同國家的人看,JVM就像一個精通各國語言的人一樣,它會先把這本書翻譯成英文給美國人看、翻譯成中文給台灣人看、翻譯成德文給德國人看)
假設現在有一個 xxx.java
的檔案要讓Java在電腦運行的流程:
javac
編譯檔案成xxx.class
javac xxx.java
java
使用JVM
和執行應用程式, 運行 java
時,不需要包含副檔名.class
java xxx
需要告訴操作系統Java的安裝路徑在哪邊,也方便在使用javac
和 java
進行編譯和執行時,不用每次都輸入完整的路徑,例如沒設定時需要輸入"C:\Program Files\Java\jdk-xx.x.x\bin\javac" xxx.java
才能夠進行編譯。當有設定時只需要輸入javac xxx.java
就可以直接進行編譯了。
Windows:
對著你的本機右鍵
> 內容
> 進階系統設定
環境變數
在 系統變數
的地方> 新增
變數名稱:JAVA_HOME
> 變數值: 選擇安裝的路徑
(例如我裝在D:\dev_tools\JDK\jdk-17.0.2
) >確定
回到系統變數找到Path
(如果沒有可以直接新增)> 編輯
新增
>%JAVA_HOME%\bin
> 建議可以把它移動到最上面(右邊有上移和下移的按鈕可以使用
) > 確定
這樣就設定完成,可以直接在cmd
使用javac
和 java
。
macOS(我是使用windows開發Java,此步驟是問ChatGPT,如果有錯誤請包涵):
首先,你需要確認 Java 安裝的位置。在終端機中輸入以下指令,查看 Java 的安裝路徑:
/usr/libexec/java_home
這會返回類似以下的路徑:
/Library/Java/JavaVirtualMachines/jdk1.8.0_281.jdk/Contents/Home
你可以透過修改 .bash_profile
、.zshrc
或 .bashrc
檔案來設定環境變數,這取決於你使用的 Shell(macOS Catalina 之後預設使用 Zsh)。
如果你使用的是 Bash,請編輯 .bash_profile
或 .bashrc
檔案:
nano ~/.bash_profile
如果你使用的是 Zsh,請編輯 .zshrc
檔案:
nano ~/.zshrc
在打開的檔案中,新增以下內容,設定 JAVA_HOME
變數:
export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/bin:$PATH
完成修改後,按 Ctrl + O
來儲存檔案,然後按 Ctrl + X
退出編輯器。接著執行以下指令來重新載入設定檔案:
Bash 使用者:
source ~/.bash_profile
Zsh 使用者:
source ~/.zshrc
最後,輸入以下指令來確認 JAVA_HOME
是否已正確設定:
echo $JAVA_HOME
如果設定正確,你應該會看到 Java 安裝路徑。
這樣你就完成了 macOS 上 Java 環境變數的設定。