到底什么是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

  • 参考引文 http://javaligang.blog.51cto.com/5026500/1825681
    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官方,但是却在企业应用中开发经常用到的。
    现在企业里面,真正常用的Java EE规范有什么?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包来实现功能)

到底什么是javaEE、什么是JavaSE,我们用Spring等框架用的jdk到底是什么的思考_第1张图片
java ee版本里面包含的组件.png

java SE和jdk又是什么区别

  • 下面是搜集到别人的回答:https://zhidao.baidu.com/question/1609327733881766147.html
    Java SE是Java的标准版,主要用于桌面应用开发,同时也是Java的基础,它包含Java语言基础、JDBC(Java数据库连接性)操作、I/O(输出输出)操作、网络通信、多线程等技术。
    JDK(Java Developers Kits)Java开发者工具集,是用来编译和执行Java程序必备的Java开发环境。

虽然看不出什么,但可以知道java SE是基础,javaEE是基于java SE的基础知识的

到底什么是javaEE、什么是JavaSE,我们用Spring等框架用的jdk到底是什么的思考_第2张图片
图片.png

又是让我困惑的事,为什么我要下的jdk,在标题标记的是java SE Development Kit呢?

  • 可能因为jdk不分java ME, java SE和java EE
  • 可能因为java SE是java的基础

以上只是我自己的想法,我也不知道对错,因为网络上搜不出这些问题让我信服的回答,只能写出自己在搜索资料思考后的想法,所以大家要自己甄别。

你可能感兴趣的:(到底什么是javaEE、什么是JavaSE,我们用Spring等框架用的jdk到底是什么的思考)