JDK與Java SE/EE/ME的區別
- Java SE(Java Platform,Standard Edition)。
Java SE 以前稱為 J2SE。它允許開發和部署在桌面、伺服器、嵌入式環境和實時環境中使用的 Java 應用程式。Java SE 包含了支援 Java Web 服務開發的類,併為 Java Platform,Enterprise Edition(Java EE)提供基礎。
Java SE 是做電腦上執行的軟體。
- Java EE(Java Platform,Enterprise Edition)。
這個版本以前稱為 J2EE。企業版本幫助開發和部署可移植、健壯、可伸縮且安全的伺服器端 Java 應用程式。Java EE 是在 Java SE 的基礎上構建的,它提供 Web 服務、元件模型、管理和通訊 API,可以用來實現企業級的面向服務體系結構(service-oriented architecture,SOA)和 Web 2.0 應用程式。
Java EE 是用來做網站的(我們常見的JSP技術)。
- Java ME(Java Platform,Micro Edition)。
這個版本以前稱為 J2ME。Java ME 為在移動裝置和嵌入式裝置(比如手機、PDA、電視機頂盒和印表機)上執行的應用程式提供一個健壯且靈活的環境。Java ME 包括靈活的使用者介面、健壯的安全模型、許多內建的網路協議以及對可以動態下載的連網和離線應用程式的豐富支援。基於 Java ME 規範的應用程式只需編寫一次,就可以用於許多裝置,而且可以利用每個裝置的本機功能。
Java ME 是做手機軟體的。
參考:http://developer.51cto.com/art/200906/130215.htm
在一臺電腦上可以同時安裝Java SE、Java EE、Java ME,不影響,對應開發需求不一樣,用對應的版本。
JDK與Java SE/EE/ME的區別
jdk是不區分se、ee、me的,所以你在oracle的官網上只要下載java se對應的版本jdk即可:
實際上我們開發web時,就應該選擇ee的,而J2EE你只需要兩個包 jsp-api.jar 和 servlet-api.jar,而這兩個包是沒有官方版本的。 也就是Java沒有提供這兩個包,只提供了一個規範。那麼這兩個包是誰提供的? 是Web容器,也就是Tomcat、Jetty、JBoss之類的伺服器提供的。
參考:
https://www.zhihu.com/question/34409803
http://www.imooc.com/wenda/detail/315780
http://bbs.csdn.net/topics/370177814
有時會有這樣的一個說法,選擇jdk1.x的版本還是jdk8的版本這樣的,jdk1.x的說法是很多年前遺留下來的說法,而現在我們統稱的叫法是jdk8這樣子。
然後我們會發現安裝jdk8時,會在系統盤上建立一個目錄,而目錄的命名為jdk_1.8xxx這樣的,還是上面那句,歷史遺留問題。