日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JDK与JRE及其在Eclipse中的使用

發布時間:2024/8/26 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JDK与JRE及其在Eclipse中的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自:http://blog.csdn.net/gx1058742912/article/details/51033942

?

JDK與jRE的區別

JDK(java development kit):java 開發工具,包括一系列java命令,如javac(java compiler) 等;同時jdk包含jre,因為jdk其實是面向java開發人員的,開 發完之后還要進行調試運行等,這就需要jre了;

JRE(java runtime environment):java 運行時環境,java文件被javac編譯過后形成字節碼文 件,這個文件計算機是不能理解和處理的,需要有jvm(java virtual machine)處理后形成機器語言在傳遞給計算機處理 (這也是為什么說java具有平臺無關性)。Jvm就存在于jre 中。可見,jre其實是面向java程序的使用者;

?

所以,當你需要開發一個java程序時,你需要的是jdk,但如果需要運行一個java程序,就需要jre了。讓人迷惑的是,當你下載并安裝jdk之后,會發現在jdk文件夾內部和外部同時存在jre文件夾(證明了jdk包含jre),下面我們來說說其中的原因:

內部jre:當你開發java程序時,需要用到一些javac之類的命令,就會調用jdk(java開發 ?工具)內部的jre;

外部jre:當你只需要運行一個java程序而不是開發時,就會調用外部的jre;

那么為什么要分兩個呢?公用一個不就行了嗎,還節省了資源。其實分為兩個jre,更多的是為了提高性能和效率,打開兩個jre的文件夾,對比一下會發現:

外部jre中,在其client文件夾里面,有個jvm.dll;內部jre中,多了個server文件夾,其中也有個jvm.dll文件,主要是兩個vm的區別,使得內外部jre有不同的分工,并且能在各自的分工上做到最好(提高各自的效率和性能)。

附上oracle官網的一張截圖:


http://docs.oracle.com/javase/7/docs/

從這張圖中可以得到:JVM?JRE?JDK

說到這里,順便提一下windows下環境變量中的path和classpath,畢竟好記性不如爛筆頭!

安裝好jdk之后,下一步就要配置環境變量了,怎么配置就不多說了,網上很多,簡單的說一下為什么要分這兩個來配置:

path變量:與其中的值相對應的路徑下面是一些java命令程序,如javac;

Classpath變量:與其中值相對應的路徑下面是程序需要用到的一些java提供的類(jar包);

有時也用到JAVA_HOME環境變量,它指向jdk的安裝目錄,Eclipse/tomcat等就是通過其找到并使用安裝好的jdk。配置好之后,即可在任何目錄下用java命令執行java程序。那么為什么系統可以在任何目錄下使用JDK提供的命令呢?

其實環境變量就是能夠讓系統更快速方便的找到所需的東西,有興趣的可以看一下windows系統變量中的path變量中已有的值,例如C:\Windows\system32;,按這個路徑打開,會發現里面有很多可執行文件,比如cmd.exe,這就是為什么我們能夠在“運行”窗口輸入cmd之后就出現命令行的原因。說到這里,你也可以試試利用環境變量啟動其他程序!

eclipse中的JDK與JRE:

其實寫這篇文章的出發點就是因為在Eclipse中用maven時,被各種jre、jdk搞得混亂,于是決定弄清楚。先簡單的介紹一下:

Eclipse:是一款集成開發的IDE,可以開發,編譯,調試,運行代碼等;

JDK:java開發工具,用來將.java文件編譯成字節碼文件;

JRE:java運行時環境,執行編譯后得字節碼文件;

Maven:一款項目管理工具;

Eclipse中其實內嵌了Java編譯器,其編譯器的作用等同于jdk中的javac,所以eclipse其實只需要jre就可以編譯java文件(在eclipse中當你保存一個java類時,它就會自動編譯這個java類,相當于在命令行中用了javac這個命令)。但如果你在eclipse中用了maven這樣的工具,可能就無法編譯了。因為maven默認使用javac來編譯項目的,也就是需要jdk,而如果你的eclipse中某maven項目只指定了jre,就會出現無法編譯的情況。就像是啟動Tomcat只需要jre,原因是Tomcat中已經包括了源代碼編譯器,不需要jdk中的javac來編譯。

Eclipse中有幾處會用到jdk和jre的,下面列出幾個,也是我混亂之處所在:

A. Window->preferences->Java->Installed JREs


這里Installed JREs中的可以理解為“全局常量”,這里設置好,之后新建的項目都默認用這里選定的jre或者jdk,但如果項目中用了maven的話,前面說了maven默認的是jdk中的javac來編譯,所以如果這里還是用jre的話就會maven install出錯,需要選擇jdk才行。更改直接Add->Standard VM,點擊directory,選擇相應的jdk或者jre路徑確定即可。

B.給不同的項目選擇不同的jre

右擊項目名稱->build path->configure build path,選擇libraries選項卡,選中jre:


點擊edit:


可根據不同的需求選擇不同的選項卡,并按照提示完成操作即可。注意,當你選擇第二個選項卡“替代JRE”時,eclipse會跳轉至installed jre中讓你選擇,因此,需要你提前在installed jre中配置好。

C. Window ->preferences->java->compiler

這里也會有一個jdk的選擇,就是編譯時jdk的版本,需要注意的一點是:

編譯時的jdk版本不能高于項目build path中的jdk即運行時jdk,因為高版本中的有些功能在低版本中并不提供。例如,項目中用了泛型,編譯時為jdk1.5但運行時為jdk1.4,雖然編譯時不報錯,但運行時就會出錯,因為jdk1.4并不支持泛型;反過來,編譯時為jdk1.4而運行時為jdk1.5,雖然編譯時報錯,但卻可以正確運行。

轉載于:https://www.cnblogs.com/zhile/p/8244516.html

總結

以上是生活随笔為你收集整理的JDK与JRE及其在Eclipse中的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。