posts - 19, comments - 53, trackbacks - 0, articles - 283
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          JDK,JRE,JVM,三者的區(qū)別于聯系?

          Posted on 2009-05-17 12:40 Gavin.lee 閱讀(2889) 評論(0)  編輯  收藏 所屬分類: java SE & EE
          這個問題,其實打從我接觸java 開始就一直困擾著我。到現在總算是有點自己的見解(不對的地方以后有什么見解再更正):

          JDK:Java Development Kit,java開發(fā)工具包。這個包是java的開發(fā)人員使用的軟件開發(fā)包(SDK: Software Development Kit)。這里包含了很多開發(fā)工具庫,如:函數庫、編譯程序。


          JRE:Java Runtime Kit, java的運行環(huán)境。主要是給java程序的使用者用的。
          當你安裝完JDK,其實就已經安裝了JRE,其中有兩套,一套直接位于java安裝目錄:C:\Program Files\ Java\jre 1.6;另一套在JDK的目錄下:C:\Program Files\ Java\JDK\jre 1.6。前者只是客戶端的運行環(huán)境,后者還包含了服務器端。
          下面是我摘得一段話,來詮釋我的理解:
          “  JRE的地位就象一臺PC機一樣,我們寫好的Win32應用程序需要操作系統(tǒng)幫我們運行,同樣的,我們編寫的Java程序也必須要JRE才能運行。所以當你裝完JDK后,如果分別在硬盤上的兩個不同地方安裝了兩套JRE,那么你可以想象你的電腦有兩臺虛擬的Java PC機,都具有運行Java程序的功能。所以我們可以說,只要你的電腦安裝了JRE,就可以正確運行Java應用程序。


          JVM:Java Virtual Machine,java虛擬機,這個才是java的核心部分。如果說java是一門非常靈巧的語言,它能變幻多樣,橫跨各種平臺,它簡直就像一個精靈的話,那么JVM就是java的靈魂附體。各個平臺的操作系統(tǒng),SUN都有不同的JVM來應對,所以java就不需要去考慮這些問題了。
          下面是一些圖解:




          下圖是JVM的原理:



          下圖是JDK,JRE,JVM的關系:

          主站蜘蛛池模板: 肃南| 栾川县| 余干县| 昌黎县| 淮南市| 柏乡县| 乳源| 察隅县| 荥阳市| 延庆县| 即墨市| 通海县| 徐水县| 霞浦县| 扎鲁特旗| 廉江市| 和平县| 开鲁县| 安溪县| 白城市| 于都县| 新化县| 黄平县| 西安市| 镇远县| 炉霍县| 康定县| 大石桥市| 高雄市| 八宿县| 台山市| 东阳市| 略阳县| 扬州市| 罗甸县| 柏乡县| 怀远县| 沙洋县| 长武县| 尼勒克县| 菏泽市|