Java經常使用術語及區別

Java中總有幾個術語,平時說的多,可是仍是讓人有點摸不着頭腦,今天就來解析一下他們的區別:java

 

l JDK:Java development toolkit,是 Java 語言的軟件開發工具包SDK)。這裏面包含了JAVA的運行環境jreJAVA工具javac/java/jdb等)JAVA基礎的類庫(即Java API 包括rt.jar)。web

到沒?JDK包含了JREJava API!因此,JDK能夠說是一應俱全編程

 

l JRE:Java Runtime Environment是運行基於Java語言編寫的程序所不可缺乏的運行環境。JRE中包含了Java virtual machineJVM),runtime class librariesJava application launcher,這些是運行Java程序的必要組件。app

    這個就是說JRE包含了JVM,同時它只是個運行環境(其實 主要是 JVM在它上面運行,Java程序都是在jvm上運行的),抱 Java程序能夠 運行,那天然就沒有各類開發工具(編譯器、調試器等等)jvm

l JVM:java virtual machine就是咱們常說的java虛擬機,它是整個java實現跨平臺的最核心的部分,全部的java程序會首先被編譯爲.class的類文件,這種類文件能夠在虛擬機上執行。也就是說class並不直接與機器的操做系統相對應,而是通過虛擬機間接與操做系統交互,由虛擬機將程序解釋給本地系統執行。函數

   注意:只有JVM還不能成class的執行,由於在解釋class的時候 JVM須要調用解釋所須要的類庫lib,而jre包含lib類庫。JVM 蔽了與 具體操做系統平臺相關的信息,使得Java程序只需生成在Java虛擬機上運 行的目標代碼(字節碼),就能夠在多種平臺上不加修改地運行工具

 

l J2seJava 2 Standard EditionJava的標準版,用於標準的應用開發;實際上是一個官方的標準,符合這個標準的產品叫「實現」。因爲J2SE是標準版,因此只有JDK就能夠實現。開發工具

 

l J2meJava 2 Micro EditionJava的微型版,經常使用於手機上的開發;實際上是一個官方的標準,符合這個標準的產品叫「實現」。由於用於嵌入式開發,因此J2ME會有其餘的標準,而知足這個標準的就是實現了J2me,支持J2MEspa

 

l J2eeJava 2 Enterprise EditionJava的一種企業版用於企業級的應用服務開發;實際上是一個官方的標準,符合這個標準的產品叫「實現」。由於用於企業級開發,因此J2EE會有比JDK更增強大的標準,而知足這個標準的就是實現了J2EE,支持J2EE,好比jbossweblogic操作系統

 

l Java API:Application Programming Interface,應用程序編程接口是一些預先定義的函數,目的是提供應用程序與開發人員基於某軟件或硬件的以訪問一組例程的能力,而又無需訪問源碼,或理解內部工做機制的細節

運行Java程序時,虛擬機裝載程序的class文件所使用的Java API class文件。全部被裝載的class文件(包括從應用程序中和從Java API中提取的)和全部已經裝載的動態庫(包含本地方法)共同組成了在Java虛擬機上運行的整個程序。 在一個平臺可以支持Java程序之前,必須在這個特定平臺上明確地實現API的功能。爲訪問主機上的本地資源,Java API調用了本地方法。因爲Java API class文件調用了本地方法,Java程序就不須要再調用它們了。經過這種方法,Java API class文件爲底層主機提供了具備平臺無關性、標準接口的Java程序。對Java程序而言,不管平臺內部如何,Java API都會有一樣的表現和可預測的行爲。正是因爲在每一個特定的主機平臺上明確地實現了Java虛擬機Java API,

相關文章
相關標籤/搜索