java-01 JAVA三大版本比较JDK、JRE、JVM 的关系
1. java三大版本比較
1.1 java SE
javaSE 是java標準版的簡稱,其定位是個人計算機應用(應用原生界面比較ugly) 全稱:Java Platform Standard Edition??主要用于開發和部署桌面、服務器以及嵌入設備和實時環境中的Java應用程序。例如,Java應用程序開發平臺Eclipse。
1.2 java EE
javaEE 是java企業版的簡稱,其定位是服務器端應用 (目前應用最廣泛的版本)全稱:Java Platform?Enterprise Edition?是在JavaSE的基礎上構建的他提供Web 服務、組建模型、管理和通信API.可以用來實現企業級的面向服務體系結構(service-oriented architecture,SOA)和web2.0應用程序。
1.3 javaME?
javaME 是java微型版的簡稱,主要定位是移動產品和車載產品等(基本沒有使用,大部分移動產品使用Android)全稱:Java Platform Micro Edition?Java ME為在移動設備和嵌入式設備(比如手機、PDA、電視機頂盒和打印機)上運行的應用程序提供一個健壯且靈活的環境。Java ME包括靈活的用戶界面、健壯的安全模式、許多內置的網絡協議以及對于動態下載的連網和離線應用程序的豐富支持。基于Java ME規范的應用程序只需要編寫一次,就可以用于許多設備,而且可以利用每個設備的本級功能。
1.4 包含關系
?
2. JVM JRE 與 JDK 的關系
2.1 JVM?
JVM 全稱 Java??Virtual Machine 是java虛擬機,它是整個java實現跨平臺的最核心的部分,所有的java程序會首先被編譯為.class的類文件,這種類文件可以在虛擬機上執行。
也就是說class并不直接與機器的操作系統相對應,而是經過虛擬機間接與操作系統交互,由虛擬機將程序解釋給本地系統執行。
JVM屏蔽了與具體操作系統平臺相關的信息,使得Java程序只需生成在Java虛擬機上運行的目標代碼(字節碼),就可以在多種平臺上不加修改地運行。 2.2 JRE
JRE 全稱 Java?Runtime Environment 是java運行時環境,這里面包含了運行java程序所需要的所有類庫,一臺機器上只有安裝了jre才可以運行java程序
JRE 是包含 JVM的,并且還包含了一些運行java程序所需要的類庫和資源文件等。?
2.3 JDK
JDK 全稱 Java Development Kit 是java開發工具包,是Sun Microsystems針對Java開發員的產品。JDK 中包含了很多關于java程序開發的工具,例如編譯工具javac,文檔生成工具javadoc等等等等。
同理,JDK是包含JRE 和 JVM 的,并且在此基礎上還包括了一些開發工具,調試工具,以及用于管理程序的管理工具等。?
2.4 關系圖
3. 其他一些補充知識
3.1? 三大版本更名是在jdk5.0中
①SE(J2SE),standard edition,標準版,是我們通常用的一個版本,從JDK 5.0開始,改名為Java SE。 ②EE(J2EE),enterprise edition,企業版,使用這種JDK開發J2EE應用程序,從JDK 5.0開始,改名為Java EE。 ③ME(J2ME),micro edition,主要用于移動設備、嵌入式設備上的java應用程序,從JDK 5.0開始,改名為Java ME。3.2 java實現跨平臺的原理
這里要從java的編譯方式說起,java源代碼編譯之后并不是直接生成一個可執行文件(.exe),而是生成對應的java字節碼文件(.class),這個字節碼電腦的并不能運行,而是需要java虛擬機來再次進行解釋,才能被cpu執行,也就是說,java程序并不是直接運行在cpu上的,而是運行在java虛擬機JVM上面的。
對于不同的從操作系統,有不同的java虛擬機。雖然是不同的虛擬機,但是他們可以識別相同的字節碼文件。這樣,就達到了一次編譯,到處運行的目的,也就是java跨平臺的原理。
?
?
轉載于:https://www.cnblogs.com/xiaobai1202/p/10794771.html
總結
以上是生活随笔為你收集整理的java-01 JAVA三大版本比较JDK、JRE、JVM 的关系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [CTSC2010]星际旅行
- 下一篇: Nginx配置同时适配电脑和移动端设备