1. 程式人生 > >到底什麼是javaEE、什麼是JavaSE,我們用Spring等框架用的jdk到底是什麼的思考

到底什麼是javaEE、什麼是JavaSE,我們用Spring等框架用的jdk到底是什麼的思考

jdk是什麼

jdk是java的開發工具包,jdk不分javaME, javaSE和javaEE

javaME,javaSE和javaEE是什麼

網路上普遍認為javaME就是用來開發嵌入式的,javaSE就是用來開發桌面的,javaEE就是用來開發企業端的。這也許沒錯,但是為什麼我們採用SSH框架和SSM框架的時候使用的是javaEE的技術,為什麼下載的是jdk就可以了呢。

·        jdk不分javaME,javaSE,javaEE

·        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。這些技術都只是充當了一個程式的入口而已。

·        Oracle之所以可能考慮放棄Java EE,正體現了Oracle對喪失Java控制權的無奈。企業的本質是逐利,Oracle每年為制定Java EE規範投入不少人力、財力,但制定的規範最終並沒有獲得市場的青睞,所以Oracle可能放棄這種吃虧不討好的事情。

·        但Java不同,2016年6月,Java在商業語言排行榜上的市場份額將近21%,龐大到恐怖的市場份額,背後隱藏著巨大各種專利使用費和盈利商機,任何一個理智的公司都不會放棄這個會下金蛋的母雞。

由此可見,oracle上提供的java EE是官方指定的javaEE規範,裡面都是符合官方指定的javaEE元件,我們用SSM,SSH開發後臺時使用到的只有Servlet、JSP、JMS等少量的java EE規範,沒有必要使用orcale提供的java EE版本,直接使用jdk就可以(當然還需要maven等管理第三方的jar包來實現功能)



java SE和jdk又是什麼區別

·        Java SE是Java的標準版,主要用於桌面應用開發,同時也是Java的基礎,它包含Java語言基礎、JDBC(Java資料庫連線性)操作、I/O(輸出輸出)操作、網路通訊、多執行緒等技術。

·        JDK(Java Developers Kits)Java開發者工具集,是用來編譯和執行Java程式必備的Java開發環境。

雖然看不出什麼,但可以知道java SE是基礎,javaEE是基於java SE的基礎知識的


又是讓我困惑的事,為什麼我要下的jdk,在標題標記的是java SEDevelopment Kit呢?

·        可能因為jdk不分java ME, java SE和java EE

·        可能因為java SE是java的基礎

以上只是我自己的想法,我也不知道對錯,因為網路上搜不出這些問題讓我信服的回答,只能寫出自己在搜尋資料思考後的想法,所以大家要自己甄別。