JRE和JDK的區別分別表明什麼java
JDK編程
JDK 是整個Java的核心,包括了Java運行環境(Java Runtime Envirnment),一堆Java工具和Java基礎的類庫(rt.jar)。不論什麼Java應用服務器實質都是內置了某個版本的JDK.最主流的JDK是Sun公司發佈的JDK,除了Sun以外,還有不少公司和組織都開發了本身的JDK,例如IBM公司開發的JDK,BEA公司的Jrocket,還有GNU組織開發的JDK等等。其中IBM的JDK包含的JVM(Java Virtual Machine)運行效率要比Sun JDK包含的JVM高出許多。而專門運行在x86平臺的Jrocket在服務端運行效率也要比Sun JDK好不少。但無論怎麼說,咱們仍是須要先把Sun JDK掌握好。小程序
JDK通常有三種版本:SE(J2SE),standard edition,標準版,是咱們一般用的一個版本EE(J2EE),enterpsise edtion,企業版,使用這種JDK開發J2EE應用程序,ME(J2ME),micro edtion,主要用於移動設備、嵌入式設備上的java應用程序Java開發工具(JDK)是許多Java專家最初使用的開發環境。儘管許多編程人員已經使用第三方的開發工具,但JDK仍被看成Java開發的重要工具。JDK由一個標準類庫和一組創建,測試及創建文檔的Java實用程序組成。其核心Java API是一些預約義的類庫,開發人員須要用這些類來訪問Java語言的功能。Java API包括一些重要的語言結構以及基本圖形,網絡和文件I/O.通常來講,Java API的非I/O部分對於運行Java的全部平臺是相同的,而I/O部分則僅在通用Java環境中實現。瀏覽器
做爲JDK實用程序,工具庫中有七種主要程序。服務器
Javac:Java編譯器,將Java源代碼轉換成字節碼。網絡
Java:Java解釋器,直接從類文件執行Java應用程序字節代碼。app
appletviewer:小程序瀏覽器,一種執行HTML文件上的Java小程序的Java瀏覽器。工具
Javadoc:根據Java源碼及說明語句生成HTML文檔。學習
Jdb:Java調試器,能夠逐行執行程序,設置斷點和檢查變量。開發工具
Javah:產生能夠調用Java過程的C過程,或創建能被Java程序調用的C過程的頭文件。
Javap:Java反彙編器,顯示編譯類文件中的可訪問功能和數據,同時顯示字節代碼含義。
JRE
JRE(Java Runtime Environment,Java運行環境),運行JAVA程序所必須的環境的集合,包含JVM標準實現及Java核心類庫。是Sun的產品,包括兩部分:JavaRuntimeEnvironment和JavaPlug-inJavaRuntimeEnvironment(JRE)是能夠在其上運行、測試和傳輸應用程序的Java平臺。它包括Java虛擬機、Java平臺核心類和支持文件。它不包含開發工具——編譯器、調試器和其它工具。JRE須要輔助軟件——JavaPlug-in——以便在瀏覽器中運行applet.J2RE是Java2 Runtime Environment,即Java運行環境,有時簡稱JRE.若是你只須要運行Java程序或Applet,下載並安裝它便可。若是你要自行開發 Java軟件,請下載JDK.在JDK中附帶有JRE.注意因爲Microsoft對Java的支持不徹底,請不要使用IE自帶的虛擬機來運行 Applet,務必安裝一個JRE或JDK.
JRE與JDK的區別:
JRE是個運行環境,JDK是個開發環境。所以寫Java程序的時候須要JDK,而運行
Java程序的時候就須要JRE。而JDK裏面已經包含了JRE,(JDK包含了java虛擬
機,java編譯器等等)所以對JAVA_HOME設置爲JDK的路徑時也能夠正常運行
Java程序,可是JDK比較大包括了許多與運行無關的內容,所以運行普通的Java
程序無須安裝JDK。
可是用了Eclipse又有了疑問,爲何這個開發環境JRE就能夠正常運行呢?其
實在Eclipse中內嵌了Java編譯器,而且與JDK中的javac徹底相容,所以無須使用
JDK也能夠直接編譯Java程序。
學習J2EE的時候又開始不明白,爲何Tomcat和Apusic用JRE就能夠啓動,
Weblogic用JDK才能啓動呢?緣由是Tomcat和Apusic 4都已經包括了一個源代碼編
譯器,而Weblogic沒有包括這個編譯器包。
那麼爲何須要編譯器呢?由於在WEB應用中JSP文件是須要轉換成Servlet,
這個Servlet文件還須要編譯成能夠在JRE上執行的class文件,所以必須提供有編
譯能力的JDK,將JAVA_HOME設置爲JDK的路徑就能夠了。