前言
在初學 Java 時,相信你們下載安裝完 JDK 後的第一件事就是 「配置環境變量」,幾乎全部的教程都會告訴你當你在命令行工具中輸入了 java 命令和 javac 命令後看到相似以下的結果就說明你的 Java 環境配置好了 👇java
不知道你有沒有思考過這個「環境變量」到底是什麼?爲何配置了以後就會顯示這樣的內容,爲何不配置,就會提示你一個錯誤:'javac' 不是內部命令或外部命令,也不是可運行的程序或批處理文件。
web
若是你也有這樣的疑問,不要着急,咱們今天就來一探究竟。windows
文內相關的演示,均在 Windows10 操做系統下執行微信
從打開軟件的兩種方式提及
咱們平時打開一個應用程序,通常是雙擊桌面圖標或在開始菜單連接,不管是桌面的快捷圖標仍是菜單連接都包含了應用程序的安裝位置信息,打開它們的時候系統會按照這些位置信息找到安裝目錄而後啓動程序,這裏以 QQ 這個軟件爲例:編輯器
上面是咱們最經常使用的打開軟件的方式,固然了,既然知道了一個應用程序的安裝目錄位置,咱們也能夠經過命令行工具進入啓動程序所在的文件,經過命令打開,如筆者 QQ 的位置爲:工具
"C:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe"
QQ 的啓動程序名爲 QQScLauncher,那麼咱們打開終端工具,使用 cd 命令進入該目錄,再輸入.\QQScLauncher.exe
,便可經過命令啓動 QQ。flex
作一點改進
若是想要炫技,每次都先進入安裝目錄再打開文件顯然有些麻煩,那有沒有什麼簡單的方式,直接在命令行工具中輸入 QQScLauncher 甚至直接輸入 QQ 就能打開軟件呢?url
固然是能夠的,咱們只須要在用戶變量名Path
中添加安裝路徑的字符,咱們在命令行工具無需進入軟件的安裝路徑便可打開軟件了。spa
咱們來試下直接在命令行工具中輸入 QQScLauncher,果真能夠直接打開軟件了。操作系統
緣由
爲何配置環境變量前,直接輸入 QQScLauncher 沒法打開軟件呢?
這是由於操做系統並不知道你的 QQScLauncher.exe 這個文件在哪裏,因此沒法執行對應的文件。
你在命令行裏輸入的那幾個符號,其實就是一些可執行程序的名字(標籤、別名),是能夠直接被當前系統直接執行的程序。若是是在 Windows 系統中,則這些被輸入的符號就是能夠直接被 windows 系統執行、後綴爲'.exe'的程序(文件)。
那麼爲了可以讓操做系統找到這個可執行文件,咱們就須要把 QQScLauncher.exe 這個 可執行文件所在的目錄做爲 PATH 環境變量的一部分設置起來,這樣當你在命令行輸入一個命令的時候,操做系統就會自動搜索 PATH 變量中所指定的全部目錄 了。
在 Windows 系統中 PATH 變量中的全部路徑採用分號分割,若是在 Linux 系統中採用冒號分割。
若是你設置好了環境變量,在命令 行中仍是出現一樣的錯誤,那麼有兩種可能,一種就是你的設置不正確,另外一種就是你的設置沒有生效,通常你能夠關閉命令行窗口再從新打開就能夠了。
環境變量
上面所說的 PATH 變量其實就是環境變量,和他的名字同樣,環境變量是描述環境的變量,是指在操做系統中用來指定操做系統運行環境的變量。它包含了一個或者多個應用程序所將使用到的信息。
例如 Windows 和 DOS 操做系統中的 PATH 環境變量,當要求系統運行一個程序而沒有告訴它程序所在的完整路徑時,系統除了在當前目錄下面尋找此程序外,還應到 PATH 中指定的路徑去找。用戶經過設置環境變量,來更好的運行進程。
系統變量 OR 用戶變量
相信細心的小夥伴已經發現了,在上圖的頁面中除了用戶變量還有一個叫系統變量的。
事實上,環境變量是一個總稱,表明了系統變量和用戶變量,所以咱們說環境變量都是指的系統變量和用戶變量。系統變量就是系統級別的變量,用戶須要使用系統變量。若是系統變量被修改了,而任何系統用戶都在用系統變量,所以每一個系統用戶都將受到影響。用戶變量運行在系統變量之上的,每一個用戶擁有不一樣的用戶變量,不一樣用戶的用戶變量之間是並列的,也是互不干擾的。他們之間的關係圖以下如所示:
看到這,想必在驗證 Java 環境是否安裝成功的時候,咱們在終端工具中輸入 java
和 javac
命令顯示出相應的字符的原理想必你也就知道了吧。
一圖說明:
題外話
做爲一個計算機專業的學生,必定要學會使用命令行工具,你能夠選擇本身喜歡的終端軟件,這裏我使用的是 「Windows Terminal」,一方面是由於他是微軟官方推出的終端工具,更有一點就是他的顏值很高,你能夠在微軟的應用商店搜索下載安裝。
以上就是本文的所有內容了,若是你以爲對你有所幫助,不妨點贊關注支持一波 👍
本文分享自微信公衆號 - 01二進制(gh_d1999add1857)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。