用javac命令將源碼編譯成.class文件, 在調用java 命令讓程序執行.
問題是:系統是如何找到並調用javac.exe和java.exe兩個應用程序的?
打個比方,平時我們運行某一程序,比如魔獸,酷狗音樂,都是先找到它們的應用 程序war3.exe和kugou.exe的所在位置,然后雙擊運行。那么操作系統是如何自動找到javac.exe和java.exe的位置呢?
比如安裝了這個數據庫,想要在任何目錄下執行sqlite3命令,只需要配置環境變量就可以了
通過sqlite3這個命令(在任何目錄下)創建了數據庫
這樣就找到了這2個命令
claapath作用:java命令 從哪里加載字節碼文件執行
把編譯好的class文件放到這個目錄中來
執行java命令
classpath環境變量的作用--告訴java虛擬機所有的可執行文件.class都在哪
它的值也是由目錄組成,它的作用在於告訴Java執行環境,在哪些目錄下可以找到所要執行的Java程序所需要的類或者包。
比如要運行一個名為Test.class的文件,而這個程序調用了另一個Link.class文件的內容,那么系統必須知道 Link.class文件的位置才能調用Link.class文件。如果Link.class文件的目錄在classpath環境變量的值中,就可以找到了。
java_home環境變量---使得其他相關環境變量的配置更加方便簡
背景
在cmd中想要執行net start mysql等操作命令,必須先cd到bin文件所在目錄,如D:\mysql\mysql-x.x.xx-winx64\bin,那么每次打開mysql 都要輸入那么多指令切換目錄是不是很討厭?怎么弄呢?
原理
當你輸入一個指令,比如:net start mysql,那系統怎么知道這個指令有沒有呢?系統做了什么事?其實系統是在當前目錄和系統環境變量path里面的路徑全部查找一遍,找到第一個為准,找不到就報錯。所以我們要不每次都切換cmd目錄,要不就設置環境變量,以后就不需要再切換cmd路徑了。簡單的說環境變量里面的path路徑這東西,就是cmd系統的查找目錄路徑