Java SE、Java EE、Java ME三者之间的区别

Java SE、Java EE、Java ME三者之间的区别_第1张图片
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。这些技术都只是充当了一个程序的入口而已。

你可能感兴趣的:(JAVA)