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

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

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

          Posted on 2009-05-17 12:40 Gavin.lee 閱讀(2889) 評論(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的關系:

          主站蜘蛛池模板: 八宿县| 墨脱县| 石门县| 偃师市| 留坝县| 巴里| 盱眙县| 望江县| 时尚| 洛阳市| 奇台县| 色达县| 二连浩特市| 泗水县| 寻甸| 夏津县| 泸定县| 清涧县| 马关县| 崇信县| 榆社县| 讷河市| 金寨县| 将乐县| 南安市| 剑河县| 西充县| 静海县| 河东区| 田阳县| 科技| 桃园县| 宁远县| 吉水县| 平山县| 仪征市| 综艺| 通江县| 邳州市| 乐东| 庆云县|