無線&移動互聯網技術研發

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

          JDK,JRE,JVM,三者的區別于聯系?

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

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


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


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




          下圖是JVM的原理:



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

          主站蜘蛛池模板: 东乌珠穆沁旗| 许昌县| 开化县| 封丘县| 辽源市| 襄垣县| 辽中县| 长武县| 金华市| 榕江县| 涞源县| 南平市| 天全县| 穆棱市| 自治县| 塘沽区| 通辽市| 大连市| 陵川县| 东光县| 社旗县| 淮安市| 宁都县| 高碑店市| 磴口县| 中西区| 巫山县| 遂平县| 寻乌县| 正定县| 武鸣县| 五大连池市| 靖安县| 营口市| 云梦县| 阿拉善盟| 孝感市| 锦屏县| 萨嘎县| 四子王旗| 平湖市|