java_5

所以呢,類庫就是工具提供給你的類了。這些類也是放在硬盤上啊,哦,順便講講jar文件了,jar文件就是一堆的class文件打包,先知道這個吧。
是啊,都是在硬盤上的東西,我JVM怎麼在需要的時候找到它們呢?通過類裝載器,先簡單的說吧,類裝載器就是根據類的全名去從硬盤上把相應的類的class文件找到(其實是非常的複雜的,後面再說)。類的全名這個概念曉得麼?就是包的名字加類本身的名字了,包知道吧?就是目錄了。

於是JVM中給出一個類的全名給類裝載器,類裝載器拿到了,那到底怎麼下手呢?文件系統這麼大,我到底從哪裏開始找呢?這樣就到了環境變量的設置了,類裝載器是從環境變量設置的目錄開始找,這只是簡化版的啊,再次聲明一下。這樣就出來了一個保證原則,環境變量不管你怎麼玩,你總得保證類裝載器能夠在那些路徑下找到相應得類吧。有了這條原則,你就知道了,哦,jdk的那個lib目錄似乎應該打到環境變量中,因爲那裏麪包括一些啓動類和類庫。當然,你自己寫的類也要讓類裝載器找到吧?比如,你是在控制檯上run的,寫一個命令,java test,就是runtest類,這個test一傳到JVM了,JVM給類裝載器,類裝載器去環境變量中找test.class文件,那麼你怎麼才能保證它能找到呢?那麼就應該把控制檯的當前目錄打到環境變量中,也就是一個“.”了,一般打在最前面,這樣類裝載器就會首先從控制檯的當前目錄找test.class文件,ok,這樣就找到了。還有一個,類裝載器是從環境變量開始,先找到哪個就用哪個,如果可以找到多個test.class的話。

這樣就設置好了classpath了。還有一個沒有設置,就是控制檯上你敲的javac和java命令,是啊,你隨便到一個目錄敲一個java,那控制檯怎麼知道這個是編譯的命令的?上面說到JDK的時候說了,編譯和運行是JDK負責的,於是你就自然想把那個java和javac和JDK目錄裏面的某個東西聯繫起來丫。於是你就要把JDK的bin目錄打到環境變量中的path下面。path是那些可執行命令的入口,比如javac命令,你到bin下面去看,就可以發現javac.exe,你把bin打到了path下去,然後在控制檯敲javac,控制檯就曉得去bin下面找到javac.exe來運行啊。這樣就ok了。

希望你的第一個java程序可以運行了。

發佈了36 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章