1. 程式人生 > >JDK > JRE > JVM

JDK > JRE > JVM

1 JDK


JDK(Java Development Kit)是java開發工具包。

在其安裝目錄下面有六個資料夾、一些描述檔案、一個src.zip壓縮檔案。主要是bin、include、lib、 jre這四個資料夾起作用

  • bin:最主要的是編譯器(javac.exe)

  • include:java和JVM互動用的標頭檔案

  • lib:類庫

  • jre:java執行環境(注意:這裡的bin、lib資料夾和jre裡的bin、lib是不同的)

總的來說JDK是用於java程式的開發,而jre則是隻能執行class而沒有編譯的功能。 
JDK是提供給Java開發人員使用的,其中包含了java的開發工具,也包括了JRE。 其中的開發工具包括編譯工具(javac.exe)打包工具(jar.exe)等

2 JRE

JRE (Java Runtime Environment) 是指java執行環境。

主要包括Java虛擬機器(JVM Java Virtual Machine)和Java程式所需的核心類庫lib等。

光有JVM還不能完成class的執行,因為在解釋class的時候JVM需要呼叫解釋所需要的類庫lib。在JDK的安裝目錄裡你可以找到jre目錄,裡面有兩個資料夾bin和lib,在這裡可以認為bin裡的就是jvm,lib中則是jvm工作所需要的類庫,而jvm和 lib和起來就稱為jre。

所以,在你寫完java程式編譯成.class之後,你可以把這個.class檔案和jre一起打包發給朋友,這樣你的朋友就可以執行你寫的程式了。 

3 JVM

JVM(JVM Java Virtual Machine)

JVM就是我們常說的java虛擬機器,它是整個java實現跨平臺的最核心的部分,所有的java程式會首先被編譯為.class的類檔案,這種類檔案可以在虛擬機器上執行,JVM解析這些位元組碼,對映到CPU指令集或OS的系統呼叫。也就是說class並不直接與機器的作業系統相對應,而是經過虛擬機器間接與作業系統互動,由虛擬機器將程式解釋給本地系統執行。 
可以理解為是一個虛擬出來的計算機,具備著計算機的基本運算方式,它主要負責將java程式生成的位元組碼檔案解釋成具體系統平臺上的機器指令,讓具體平臺如window執行這些Java程式。 


簡單而言:使用JDK開發完成的java程式,交給JRE去執行。 

相關推薦

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區別與聯系(ZZ)

nta 平臺 環境 html 所有 仿真 clear aid 包含 http://www.cnblogs.com/hencehong/p/3252166.html 我們開發的實際情況是:我們利用JDK(調用JAVA API)開發了屬於我們自己的JAVA程序後,通過JDK中

JDK,JRE,JVM聯絡及區別

JVM--保證了java語言的跨平臺性      就像我們出國旅遊如果不會說當地的語言就會帶一個翻譯官。jvm的作用就像翻譯官一樣可以在不同的作業系統上執行。          因為有了JVM,

JDK,JRE,JVM區別與聯絡(轉載)

JDK : Java Development ToolKit(Java開發工具包)。 JDK是整個JAVA的核心,包括了Java執行環境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基礎的類庫(即Java

java的平臺無關性,Eclipse,JDK,JRE,JVM

一.java的平臺無關性 1.關於平臺 平臺=作業系統+cpu 用不同的語言編寫好的程式經過編譯連結後生成了可執行檔案,平臺來識別可執行檔案完成執行 !!不同的平臺可識別的機器指令不同!! 2.為什麼說是與平臺無關 ①c++:針對不同的平臺!!針對平

初步瞭解jdk,jre,jvm

  JDK JDK(Java Development Kit) 是 Java 語言的 軟體開發工具包 (SDK)。其結構圖為 JDK是整個JAVA的核心,包括了Java執行環境JRE(Java Runtime Envirnment)、Java工具(javac/j

JDK,JRE,JVM區別與聯絡

很多朋友可能跟我一樣,已經使用JAVA開發很久了,可是對JDK,JRE,JVM這三者的聯絡與區別,一直都是模模糊糊的。 今天特寫此文,來整理下三者的關係。      JDK : Java Development ToolKit(Java開發工具包)。JDK是整個JAVA的核心,包括了Java執行環境(Ja

JDK,JRE,JVM之間的關係

一、 詳細介紹1、JVM -- java virtual machineJVM就是我們常說的java虛擬機器,它是整個java實現跨平臺的 最核心的部分,所有的java程式會首先被編譯為.class的類檔案,這種類檔案可 以在虛擬機器上執行,也就是說class並不直接與機器

JDK > JRE > JVM

1 JDK JDK(Java Development Kit)是java開發工具包。 在其安裝目錄下面有六個資料夾、一些描述檔案、一個src.zip壓縮檔案。主要是bin、include、lib、 jre這四個資料夾起作用 bin:最主要的是編譯器(javac.exe) include:ja

jdk,jre,jvm 三者間的差別與聯絡

           學習java有近1年半了,自以為學的挺不錯。有一次筆試遇到一道題,請說說jdk,jre,jvm的區別與聯絡;javaSE,javaEE,javaME,j2SE,J2ME,J2EE

jdk jre jvm三者之間的聯絡與區別

    JVM:Java Virtual Mechinal(JAVA虛擬機器)。JVM是JRE的一部分,它是一個虛構出來的計算機,是通過在實際的計算機上模擬模擬各種計算機功能來實現的。JVM有自己完善的硬體架構,如處理器、堆疊、暫存器等,還具有相應的指令系統。JVM 的主要工作是解釋自己的指令集(即位元組碼)

Java開發環境——JDK/JRE/JVM

1.JDK/JRE/JVM概述 1.1JDK JDK(Java標準開發包)的全稱是Java SE Development Kit,是Sun提供的一套用於開發Java應用程式的開發包,它提供編譯、執行Java程式所需的各種工具和資源,包含了JAVA的執行環境(

Java基礎概念之JSE JME JEE JDK JRE JVM

JSE. JME,JEE,JDK,JRE SE:stands for "Standard Edition" EE:stands for "Enterprise Edition" JDK: stands for “Java Development Kit" JRE: stan

JDK,JRE,JVM三者之間的關係

JDk JDK(Java Development ToolKit),它是Java開發的最小環境,整個Java的核心,包括了Java執行環境,開發工具和Java基礎類庫。 JRE JRE(Java Runtime Enviromental),是java執行時環境。

JDK,JRE,JVM的區別和聯絡

JDK: java development kit 開發工具包:主要包含jre,jvm,jdk原始碼包,以及bin資料夾下用於開發,編譯執行的一些指令器。JRE:java runtime environment,包含了jvm和java執行時基本類庫(rt.jar)JVM:ja

JDK,JRE,JVM的作用及關係(詳解)

(1)作用: JVM:保證java語言跨平臺 JRE:java程式的執行環境 JDK:java程式的開發環境 (2)關係: JDK:JRE+工具 JRE:JVM+類庫 詳解上述術語: JVM:稱為"java虛擬機器",正因為它的可移植性(既跨平臺性)成為jav

java中jdk jre jvm三者關係

JDK是JAVA的核心,包括JRE(JAVA 虛擬環境)、編譯器等,JDK的主流產品是由SUN公司開發的,JDK本身是用JAVA編寫的,安裝包的SRC.ZIP就是JDK的原始碼 JVM(JAVA虛擬機器),是可以執行JAVA程式碼的假想計算機,主要任務是把JAVA位元組碼編譯成特定計算機的機器指令,是JAVA

JDK JRE JVM 區別與聯絡

    JVM:Java Virtual Mechinal(JAVA虛擬機器)。JVM是JRE的一部分,它是一個虛構出來的計算機,是通過在實際的計算機上模擬模擬各種計算機功能來實現的。JVM有自己完善的硬體架構,如處理器、堆疊、暫存器等,還具有相應的指令系統。JVM 的主要工作是解釋自己的指令集(即位元組碼)

jdk jre jvm 之間的關係

轉載來自:http://playkid.blog.163.com/blog/static/56287260201372113842153/ JDK(Java Development Kit)是針對Java開發員的產品,是整個Java的核心,包括了Java執行環境JRE、

J2EE,J2SE,J2ME,JDK,SDK,JRE,JVM區別(轉載)

不同版本 配置 查詢 程序實現 整理 tails javase 企業級應用 來源 轉載地址:http://blog.csdn.net/alspwx/article/details/20799017 一、J2EE、J2SE、J2ME區別 J2EE——全稱Java 2 Ente