Java SE、Java EE、Java ME三者之間的區別

在這裏插入圖片描述
Java技術=Java語言+java平臺
Java平臺=JVM+JDK
Java SE=JDK根基
Java EE,JavaSE,JavaFX 是Java SE的擴展

簡單點說
Java SE 是做電腦上運行的軟件。
Java EE 是用來做網站的-(我們常見的JSP技術)
Java ME 是做手機軟件的。

  • Java SE 全稱(Java Platform,Standard Edition)以前稱爲 J2SE。它允許開發和部署在桌面、服務器、嵌入式環境和實時環境中使用的 Java 應用程序,包含了支持 Java Web 服務開發的類,爲(Java EE)提供基礎。

  • Java EE 全稱(Java Platform,Enterprise Edition)這個版本以前稱爲 J2EE。企業版幫助開發和部署可移植、健壯、可伸縮且安全的服務器端 Java 應用程序。Java EE 是在 Java SE 的基礎上構建的,它提供 Web 服務、組件模型、管理和通信 API,可以用來實現企業級的面向服務體系結構(service-oriented architecture,SOA)和 Web 2.0 應用程序。

  • Java ME 全稱(Java Platform,Micro Edition)這個版本以前稱爲 J2ME。爲在移動設備和嵌入式設備(比如手機、PDA、電視機頂盒和打印機)上運行的應用程序提供一個健壯且靈活的環境。包括靈活的用戶界面、健壯的安全模型、許多內置的網絡協議以及對可以動態下載的連網和離線應用程序的豐富支持。基於 Java ME 規範的應用程序只需編寫一次,就可以用於許多設備,而且可以利用每個設備的本機功能。

那麼我們應該學習哪個呢?

1、Java EE 是開發 WEB 應用的!例如網站,網頁等,Java EE 包含Java SE,要想學好Java EE,除了Java SE 精通外,你還要學一些其他的框架以及知識,例如Spring、SpringMVC、MyBatis 等一些框架。Java 最厲害,用的最多的地方就是做 WEB 應用!當然 WEB 應用大體也可分爲 前端開發 和 後端開發(服務器開發)兩類!但是不管怎麼樣,Java SE 是基礎,是必須要好好學的。
2、Java SE 是 Java EE 的基礎所開發的東西也不一樣,如果想找一份好的工作還是把 Java SE 學好學精可以找一個幾千塊的工作,如果把 Java EE 學精那麼相信你的工資很快就會超過 20k。

Java EE 與 Java SE 有什麼區別?

Java EE 相比於Java SE 來說,除了多出包(Package)以外,還多了若干 Java 容器,如 Tomcat、GlassFish、IBM WebSphere 等。

那麼什麼是 JAVA 容器呢?
以 Java EE 的子集 Servlet 爲例,我們現在用 Servlet 可以相對輕鬆的寫出一個動態 Web 站點。

而在 Java EE 出現以前,如果要用 Java SE 寫一個動態 Web 站點,需要自己造輪子從頭開始寫起,從與瀏覽器建立 TCP 連接,到解析 HTTP 協議請求,到生成 HTTP 協議請求……一大堆事情都要自己來做。關鍵問題是,像建立 TCP 請求、解析 HTTP 請求等這種繁瑣而又佔用時間的事情,每次寫網站的都要重複來做,每次做的都是一樣的,於是人們就想爲什麼不把這些每次重複的模塊做成一個個的輪子來用呢?但是又在由誰造輪子的問題上產生了分歧,於是一個叫 JCP 的組織決定,把程序的接口約定好,大家一起來按照接口造輪子,最後消費者喜歡用誰家的輪子就用誰家的輪子。

然後 Java EE 就產生了,這組接口就叫Java EE,各家自己造的輪子(如omcat、GlassFish、IBM WebSphere)就叫做 Java 容器。
我們自己寫的 Java 代碼與 Java 容器的關係就像是 CD 與播放器的關係一樣。如果我們要自己製作一首新歌曲,不用每次自己製作重新制作一個播放器,然後在播放器中存入我們製作的歌曲。只需要製作一個CD唱片就好了,播放器這種輪子,直接就可以用來播放我們製作的 CD 唱片了。

Java 剛開始的時候,因爲各種應用和生態不成熟,很多東西需要有人牽頭制定強制規範引導 Java 的發展,於是 Java EE 曾經引領了企業級應用的開發。但隨着時代的進步,以及越來越多的公司和組織參與到 Java 世界,出現了各種各樣的 Java EE 組件的代替者,比如Hibernate、Spring 就是其中兩個典型。相反,Java 官方制定的各種 Java EE 規範反而不太受歡迎,他們制定了 JSF 規範,但實際企業開發喜歡用 Struts 2、Spring MVC;他們制定了 EJB 規範,但實際企業開發往往還是喜歡用 Spring;他們制定了 JPA 規範,但實際企業開發往往還是喜歡直接用 Hibernate、MyBatis。
現代企業級應用常用的各種框架和工具,比如Struts 2、Spring、Hibernate、jBPM、Activiti、Lucene、Hadoop、Drools、CXF 等這些大家耳熟能詳的組件,全部都不是來自 Oracle 官方,但是卻在企業應用中開發經常用到的。
現在企業裏面,真正常用的 JavaEE 規範有什麼?Servlet、JSP、JMS、JNDI。這些技術都只是充當了一個程序的入口而已。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章