JDK,JRE,JVM區別與聯絡
很多朋友可能跟我一樣,已經使用JAVA開發很久了,可是對JDK,JRE,JVM這三者的聯絡與區別,一直都是模模糊糊的。
今天特寫此文,來整理下三者的關係。
JDK : Java Development ToolKit(Java開發工具包)。JDK是整個JAVA的核心,包括了Java執行環境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基礎的類庫(即Java API 包括rt.jar)。
最主流的JDK是Sun公司釋出的JDK,除了Sun之外,還有很多公司和組織都開發了屬於自己的JDK,例如國外IBM公司開發了屬於自己的JDK,國內淘寶也開發了屬於自己的JDK,各個組織開發自己的JDK都是為了在某些方面得到一些提高,以適應自己的需求,比如IBM的JDK據說執行效率就比SUN的JDK高的多。但不管怎麼說,我們還是需要先把基礎的Sun JDK掌握好。
JDK有以下三種版本:
J2SE,standard edition,標準版,是我們通常用的一個版本J2EE,enterpsise edtion,企業版,使用這種JDK開發J2EE應用程式J2ME,micro edtion,主要用於移動裝置、嵌入式裝置上的java應用程式
我們常常用JDK來代指Java API,Java API是Java的應用程式介面,其實就是前輩們寫好的一些java Class,包括一些重要的語言結構以及基本圖形,網路和檔案I/O等等 ,我們在自己的程式中,呼叫前輩們寫好的這些Class,來作為我們自己開發的一個基礎。當然,現在已經有越來越多的效能更好或者功能更強大的第三方類庫供我們使用。
JRE:Java Runtime Enviromental(java執行時環境)。也就是我們說的JAVA平臺,所有的Java程式都要在JRE下才能執行。包括JVM和JAVA核心類庫和支援檔案。與JDK相比,它不包含開發工具——編譯器、偵錯程式和其它工具。
JVM:Java Virtual Mechinal(JAVA虛擬機器)。JVM是JRE的一部分,它是一個虛構出來的計算機,是通過在實際的計算機上模擬模擬各種計算機功能來實現的。JVM有自己完善的硬體架構,如處理器、堆疊、暫存器等,還具有相應的指令系統。JVM 的主要工作是解釋自己的指令集(即位元組碼)並對映到本地的 CPU 的指令集或 OS 的系統呼叫。Java語言是跨平臺執行的,其實就是不同的作業系統,使用不同的JVM對映規則,讓其與作業系統無關,完成了跨平臺性。JVM 對上層的 Java 原始檔是不關心的,它關注的只是由原始檔生成的類檔案( class file)。類檔案的組成包括 JVM 指令集,符號表以及一些補助資訊。
下圖很好的表面了JDK,JRE,JVM三者間的關係:
我們開發的實際情況是:我們利用JDK(呼叫JAVA API)開發了屬於我們自己的JAVA程式後,通過JDK中的編譯程式(javac)將我們的文字java檔案編譯成JAVA位元組碼,在JRE上執行這些JAVA位元組碼,JVM解析這些位元組碼,對映到CPU指令集或OS的系統呼叫。
相關推薦
JDK,JRE,JVM區別與聯絡(轉載)
JDK : Java Development ToolKit(Java開發工具包)。 JDK是整個JAVA的核心,包括了Java執行環境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基礎的類庫(即Java
JDK,JRE,JVM區別與聯絡
很多朋友可能跟我一樣,已經使用JAVA開發很久了,可是對JDK,JRE,JVM這三者的聯絡與區別,一直都是模模糊糊的。 今天特寫此文,來整理下三者的關係。 JDK : Java Development ToolKit(Java開發工具包)。JDK是整個JAVA的核心,包括了Java執行環境(Ja
JDK JRE JVM 區別與聯絡
JVM:Java Virtual Mechinal(JAVA虛擬機器)。JVM是JRE的一部分,它是一個虛構出來的計算機,是通過在實際的計算機上模擬模擬各種計算機功能來實現的。JVM有自己完善的硬體架構,如處理器、堆疊、暫存器等,還具有相應的指令系統。JVM 的主要工作是解釋自己的指令集(即位元組碼)
JDK,JRE,JVM區別與聯絡
JDK : Java Development ToolKit(Java開發工具包)。JDK是整個JAVA的核心,包括了Java執行環境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基礎的類庫(即Java API 包括rt.jar)。
JDK,JRE,JVM區別與聯系(ZZ)
nta 平臺 環境 html 所有 仿真 clear aid 包含 http://www.cnblogs.com/hencehong/p/3252166.html 我們開發的實際情況是:我們利用JDK(調用JAVA API)開發了屬於我們自己的JAVA程序後,通過JDK中
0、JDK、JRE、JVM區別與聯絡
1.基本概念 JVM : 全稱 Java Virtual Machine,即java虛擬機器,是一個用於執行位元組碼的”虛擬計算機”。由於不同的作業系統有不同的虛擬機器,Java虛擬機器在執行位元組碼時,把位元組碼解釋成具體平臺上的機器指令執行。實現了“一次編譯,隨處執行”。 這也是J
2018/12/9 JDK、JRE、JVM區別與聯絡
Eg: 首先舉個簡單的例子,比如你要用Gephi這款軟體,需要配置java環境,如果你配置JDK——開發java程式用的開發包,還需要進一步配置環境變數,如果你配置好了JRE——執行java程式的環境,就可以直接使用Gephi。 &nbs
JDK,JRE,JVM區別與聯系
runt ise 更強 功能 ima sun 本地 架構 包括 JDK : Java Development ToolKit(Java開發工具包)。JDK是整個JAVA的核心,包括了Java運行環境(Java Runtime Envirnment),一堆Java工具(jav
JDK和JRE的區別與聯絡
從兩者的全稱可以明白JRE(JavaDevelopment Kit)java程式的執行環境,JDK(JavaDevelopment Kit)是面向開發人員的,然而JDK不僅提供了Java的開發環境,而
JDK、JRE、JVM的區別與聯絡
本文章僅供本人學習參考,如有錯誤和不妥,望指正~~ 轉載連結:https://jingyan.baidu.com/article/425e69e6077283be15fc16ed.html 前幾天面試的時候被問到JDK、JRE、JVM三者的區別,雖然答了出來,但是有些細節還
jdk jre jvm三者之間的聯絡與區別
JVM:Java Virtual Mechinal(JAVA虛擬機器)。JVM是JRE的一部分,它是一個虛構出來的計算機,是通過在實際的計算機上模擬模擬各種計算機功能來實現的。JVM有自己完善的硬體架構,如處理器、堆疊、暫存器等,還具有相應的指令系統。JVM 的主要工作是解釋自己的指令集(即位元組碼)
Java JDK、JRE?JVM的區別與聯絡
很多朋友可能跟我一樣,已經使用JAVA開發很久了,可是對JDK,JRE,JVM這三者的聯絡與區別,一直都是模模糊糊的。 今天特寫此文,來整理下三者的關係。 JDK : Java Development ToolKit(Java開發工具包)。JDK是整個JA
jdk jre與jvm的區別與聯絡
再來談談JREJRE為Java Runtime Environment的簡稱,Java Runtime Environment(包括Java Plug-in)是Sun的產品,包括兩部分:Java Runtime Environment和Java Plug-in。JavaRuntimeEnvironment(J
Java基礎:JDK、JRE、JVM的區別與聯絡
1. 詳細介紹 1.1 JVM – java virtual machine JVM就是我們常說的java虛擬機器,它是整個java實現跨平臺的 最核心的部分,所有的java程式會首先被編譯為.class的類檔案,這種類檔案可 以在虛擬機器上執行,也就是說c
JDK,JRE,JVM,JMM關系與區別
nta too java工具 runt jvm jdk devel kit evel JVM: Java Virtual Machine, 將java文件編譯成class文件並運行class文件的軟件 JRE:Java Runtime Enviromental,包含了J
JDK,JRE,JVM聯絡及區別
JVM--保證了java語言的跨平臺性 就像我們出國旅遊如果不會說當地的語言就會帶一個翻譯官。jvm的作用就像翻譯官一樣可以在不同的作業系統上執行。 因為有了JVM,
jdk,jre,jvm 三者間的差別與聯絡
學習java有近1年半了,自以為學的挺不錯。有一次筆試遇到一道題,請說說jdk,jre,jvm的區別與聯絡;javaSE,javaEE,javaME,j2SE,J2ME,J2EE
JDK,JRE,JVM的區別和聯絡
JDK: java development kit 開發工具包:主要包含jre,jvm,jdk原始碼包,以及bin資料夾下用於開發,編譯執行的一些指令器。JRE:java runtime environment,包含了jvm和java執行時基本類庫(rt.jar)JVM:ja
J2EE,J2SE,J2ME,JDK,SDK,JRE,JVM區別(轉載)
不同版本 配置 查詢 程序實現 整理 tails javase 企業級應用 來源 轉載地址:http://blog.csdn.net/alspwx/article/details/20799017 一、J2EE、J2SE、J2ME區別 J2EE——全稱Java 2 Ente
openjdk和jdk的區別與聯絡
使用過LINUX的人都應該知道,在大多數LINUX發行版本里,內建或者通過軟體源安裝JDK的話,都是安裝的openjdk,那麼到底什麼是openjdk,它與sun jdk有什麼關係和區別呢?歷史上的原因是,openjdk是jdk的開放原始碼版本,以GPL協議的形式放出。在J