039-042怎麼使用java命令執行 JAVA_HOME、classpath環境變數設定
039—怎麼使用java命令執行
執行階段
執行的前提是:class檔案(位元組碼)生成了。沒有位元組碼檔案程式是無法執行的。
重點!
假設該檔案的名字叫做:HelloWorld.class
那麼HelloWorld被稱為??
類
怎麼執行?使用哪個命令?
使用JDK的bin目錄下的:java.exe
先在DOS命令視窗中測試java.exe這個命令是否可用
java -version
"java.exe"這個命令怎麼用,語法格式是什麼?
java 類名
java HelloWorld.class對不對?
不對!
正確的寫法是:
java HelloWorld
040
javac 路徑
java 類名
執行java程式需要哪些步驟?
第一步,先使用cd命令切換到xxx.class檔案所在的路徑。
第二步:執行java xxx
041—JAVA_HOME環境變數介紹
到目前為止,配置了哪些環境變數?
到目前為止,我們只配置了一個環境變數path,並且這個環境變數path和java實際上沒關係,是windows作業系統的機制。
對於JAVA的JDK所屬的環境變數,有一個叫做:JAVA_HOME
這個JAVA_HOME目前我們不需要,不配置這個環境變數也不會影響當前java程式的執行。
但是後期學到JavaWEB的時候需要安裝Tomcat伺服器,那個時候JAVA_HOME就必須配置了。
那麼除了JAVA_HOME環境變數之外,JDK相關的環境變數還有其他的嗎?
有
042—classpath環境變數詳解
我們一起來研究一下:“java HelloWorld”的執行過程及其原理。
敲完回車,都發生了什麼?
第一步:會先啟動JVM(java虛擬機器)
第二步:JVM啟動之後,JVM會去啟動“類載入器classloader”
類載入器的作用:載入類的。本質上類載入器負責去硬碟上找“類”對應的“位元組碼”檔案。
假設是“java HelloWorld”,那麼類載入器會去硬碟上搜索:HelloWorld.class檔案。
第三步:類載入器如果在硬碟上找不到對應的位元組碼檔案,會報錯,報什麼錯?
錯誤:找不到或無法載入主類
類載入器如果在硬碟上找到了對應的位元組碼檔案,類載入器會將該位元組碼檔案裝載到JVM當中,JVM啟動“直譯器“將位元組碼解釋為”101010000“這種二進位制碼,作業系統執行二進位制碼和硬體互動。
問題:
預設情況下,類載入器去硬碟上找“位元組碼”檔案的時候,預設從哪找?
當前路徑下
此處應該有疑問:
能不能給類載入器指定一個路徑,讓類載入器去指定的路徑下載入位元組碼檔案?
可以。但是我們需要設定一個環境變數,叫做:classpath
classpath是一個環境變數,是給“類載入器”指路的。
classpath環境變數不屬於windows作業系統,classpath環境變數隸屬於java。
classpath環境變數是java特有的。
classpath=A路徑;B路徑;C路徑......
classpath是一個變數名
A路徑;B路徑;C路徑......是變數值
我們把classpath配置一下,這個環境變數在windows中沒有,需要新建!!
計算機 右鍵 屬性 高階系統設定 環境變數 新建
注意:變數名不能隨意寫,大小寫無所謂,但必須叫做classpath
我目前是隨意配置的:(重啟CMD)
classpath=D:\course
非常重要的一個特點,必須記住:
配置了classpath=D:\course之後,類載入器只會去D:\course目錄下找“xxx.class”檔案,不再從當前路徑下找了。