新聞中心
對于JDK與JRE的關(guān)系以及path的配置問題首先我們來看下一些概念:

我們提供的服務(wù)有:網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、井陘礦ssl等。為數(shù)千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學管理、有技術(shù)的井陘礦網(wǎng)站制作公司
JDK(Java develop kit ,Java開發(fā)套件),JRE(Java runtime environment,Java運行時環(huán)境),JVM(Java virtual machine,Java虛擬機)
- JDK
- ++
- |-----JRE
- ++
- |-------JVM
- |-------
JDK與JRE的關(guān)系以及path的配置中,JRE只是JDK的一個部分,我們只要擁有了一份JDK就可以進行Java程序開發(fā)了,而顧名思義,JRE是Java運行的時候所依賴的平臺,JVM則更只是JRE的一個部分,JRE除了虛擬機外還提供了眾多鏈接庫,這些庫會被JVM在運行時調(diào)用。
我們會發(fā)現(xiàn)java_home/下有一個bin文件夾和一個JRE文件夾,而JRE文件夾下也有一個bin文件夾,它們一樣嗎?顯然不一樣。
java_home/bin中的工具是sun公司提供給我們一些工具,如java.exe,javac.exe,而jre/bin下的工具是運行時所需的,于是我們可以發(fā)現(xiàn)java_home/bin下有一個javac.exe,而jre/bin下肯定沒有javac.exe,這是很容易解釋的。
奇怪的是,Sun公司給我們提供了兩套JRE,稍留意一下我們就會發(fā)現(xiàn)在裝完JDK,還可以選擇裝一個JRE,這個JRE是被默認裝到C:\Program Files\Java下的。sun提供兩套JRE是有道理的,如果我們只是想運行Java程序,那么去官網(wǎng)下一個JRE就行了,而無需拿來一個JDK,如果是要開發(fā)Java程序那就需要一個JDK了."JDK里面的工具幾乎都是用Java寫的,所以JDK本身就是Java應(yīng)用程序,因此要使用JDK附的工具來開發(fā)Java程序也必須要自行附一套JRE才行,這就是java_home\jre存在的原因,而位于Program File\jre的那套JRE就是拿來執(zhí)行我們自己寫的Java應(yīng)用程序的。不過,兩套中任何一套JRE都可以拿來執(zhí)行我們所寫的Java應(yīng)用程序,可是JDK內(nèi)附的開發(fā)工具在預(yù)設(shè)開發(fā)工具使用包裝器(.exe)來啟動的情況下,都拿自己支選用java_home\jre".(《Java深度歷險》)
因此,現(xiàn)在可以明白設(shè)path和classpath的作用了:path是為JDK提供的那些工具設(shè)的,如java.exe,javac.exe,而classpath是為Java程序所用到的庫文件所設(shè)的,于是path設(shè)成:java_home\bin;而classpath設(shè)為:java_home\jre\lib\rt.jar,如果我們開發(fā)的一個應(yīng)用中用到了非j2se提供的庫文件,則需將這些文件加到classpath中,比如說利用javamail開發(fā)一個郵件應(yīng)用,就應(yīng)該把mail.jar
等文件加到classpath中:java_home\jre\lib\ext\mail.jar;.
如果一臺PC上裝了幾個JRE,那么就要注意了,有時很容易產(chǎn)生問題,很可能我們用來編譯Java程序的javac.exe所相關(guān)的JRE與運行程序時所用的JRE不是一個版本, 這可能會產(chǎn)生版本沖突,這可以通過設(shè)定path變量來解決。
最后應(yīng)用中的第三方文件應(yīng)該加到j(luò)ava_home\jre\lib\ext下,就像剛才那樣,與Java相關(guān)的安全設(shè)定檔都放置java_home\jre\lib\security。最后擴展一點,與Java相關(guān)的很多工具的path設(shè)定原則都與上述差不多,比如說想安裝一個Ant,應(yīng)該在path 中這樣設(shè):
- F:\\Ant\apache-ant-1.6.5\bin;
看看bin下有什么就明白這樣做是為了指定命令工具ant所在的目錄。
JDK與JRE的關(guān)系以及path的配置那么就先介紹到這里,那么這些相關(guān)的學習在其他文章中還會滲透。
【編輯推薦】
- JDK的概念、組成及JDK常用包
- JDK1.4在Windows下的環(huán)境配置
- JDK1.6在LINUX下的安裝配置
- JDK1.5中新的語言特征淺析
- 在JDK7 b50中將實現(xiàn)正則表達式命名捕獲組
名稱欄目:JDK與JRE的關(guān)系和path的作用淺談
標題鏈接:http://m.fisionsoft.com.cn/article/dhjhddj.html


咨詢
建站咨詢
