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

          換位思考·····
          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的關系:

          主站蜘蛛池模板: 孝昌县| 兴城市| 陕西省| 湘潭县| 金沙县| 宣武区| 洱源县| 临江市| 都江堰市| 开封市| 余庆县| 石柱| 巴中市| 漯河市| 常德市| 米林县| 玛曲县| 泉州市| 濮阳县| 临海市| 广德县| 宿迁市| 阿巴嘎旗| 池州市| 左云县| 类乌齐县| 措美县| 田阳县| 南京市| 迭部县| 兴宁市| 乌拉特前旗| 黄浦区| 吴旗县| 荆门市| 甘洛县| 杭州市| 龙门县| 屏东市| 东港市| 白城市|