隨筆-31  評論-2  文章-0  trackbacks-0
          (1)Jre 是java runtime environment, 是java程序的運行環境。既然是運行,當然要包含jvm,也就是大家熟悉的虛擬機啦, 還有所有java類庫的class文件,都在lib目錄下打包成了jar。大家可以自己驗證。至于在windows上的虛擬機是哪個文件呢? 學過MFC的都知道什么是dll文件吧,那么大家看看jre/bin/client里面是不是有一個jvm.dll呢?那就是虛擬機。

          (2)Jdk 是java development kit,是java的開發工具包,里面包含了各種類庫和工具。當然也包括了另外一個Jre. 那么為什么要包括另外一個Jre呢?而且jdk/jre/bin同時有client和server兩個文件夾下都包含一個jvm.dll。 說明是有兩個虛擬機的。這一點不知道大家是否注意到了呢?
            相信大家都知道jdk的bin下有各種java程序需要用到的命令,與jre的bin目錄最明顯的區別就是jdk下才有javac,這一點很好理解,因為 jre只是一個運行環境而已。與開發無關,正因為如此,具備開發功能的jdk自己的jre下才會同時有client性質的jvm和server性質的jvm, 而僅僅作為運行環境的jre下只需要client性質的jvm.dll就夠了。

          (3)記得在環境變量path中設置jdk/bin路徑麼?這應該是大家學習Java的第一步吧, 老師會告訴大家不設置的話javac和java是用不了的。確實jdk/bin目錄下包含了所有的命令??墒怯袥]有人想過我們用的java命令并不是 jdk/bin目錄下的而是jre/bin目錄下的呢?不信可以做一個實驗,大家可以把jdk/bin目錄下的java.exe剪切到別的地方再運行 java程序,發現了什么?一切OK!
            那么有人會問了?我明明沒有設置jre/bin目錄到環境變量中啊?
          試想一下如果java為了提供給大多數人使用,他們是不需要jdk做開發的,只需要jre能讓java程序跑起來就可以了,那么每個客戶還需要手 動去設置環境變量多麻煩???所以安裝jre的時候安裝程序自動幫你把jre的java.exe添加到了系統變量中,驗證的方法很簡單,大家看到了系統環境 變量的 path最前面有“%SystemRoot%\system32;%SystemRoot%;”這樣的配置,那么再去Windows/system32下 面去看看吧,發現了什么?有一個java.exe。
            如果強行能夠把jdk/bin挪到system32變量前面,當然也可以迫使使用jdk/jre里面的java,不過除非有必要,我不建議大家這么做。使用單獨的jre跑java程序也算是客戶環境下的一種測試。 
          posted on 2010-03-11 12:27 xiaoxinchen 閱讀(284) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 靖远县| 合水县| 射阳县| 西昌市| 沂水县| 灵石县| 清苑县| 登封市| 黑水县| 镇康县| 西乌| 清涧县| 黄山市| 桓台县| 阿拉善左旗| 镇康县| 林西县| 大荔县| 新源县| 安龙县| 炎陵县| 获嘉县| 高清| 微博| 岑溪市| 绥芬河市| 翁牛特旗| 景谷| 井冈山市| 津南区| 开封市| 互助| 依安县| 咸阳市| 通榆县| 邻水| 凤翔县| 宝鸡市| 峨山| 竹北市| 怀柔区|