Java EE、Java SE和Java ME具体有什么区别?

不用介绍历史,也不用介绍概念,这些地球人都知道的就不要说了。
求高手回答下列问题:
Oracle官网上的jdk-7u71-windows-i586.exe(java se)、java_ee_sdk-6-windows.exe(java ee)和oracle-jmesdk-8-0-rr-win32-bin.exe(java me),忽略版本号(1.6,1.7,1.8)的不同,这三个安装包都包含什么内容?彼此有没有依赖关系?例如安装java_ee_sdk-6-windows.exe(java ee)之前是否必须先安装jdk-7u71-windows-i586.exe(java se)等?
通常java ee开发包含Web类(JDBC+Servlet+JSP)、框架类(Struts、Spring、Hibernate)以及EJB+Web service+JMS、Tomcat之类的内容。那么问题来了,既然这些都是java ee开发的概念或者领域,那为什么只需要安装jdk-7u71-windows-i586.exe(java se)就可以了呢?为什么从来没有听说过要安装java_ee_sdk-6-windows.exe(java ee)的?java ee开发都不使用java_ee_sdk-6-windows.exe(java ee),那它还有什么存在的意义吗?

se是java标准开发工具包,主要用于开发桌面应用;ee是企业版开发工具包,即除了包含se的内容,还包含了web开发需要的一些基础包,例如selvlet等。me是手机等嵌入式设备使用的开发工具包,早期的一些山寨手机等应用开发使用。

亲,在你使用特定web容器开发的时候,这些容器运行库中已经包含了j2ee运行必须的运行库,如果您没有使用这些容器运行库来开发web应用则必须使用ee版本。
比如您在使用eclipse开发web应用时,是否会提示您选择对应您配置的web容器,如果您不去选择的话必须要使用ee版本开发。追问

感谢你的回答,但是还是有以下问题不明,求指教
我安装过EE的版本java_ee_sdk-6-windows.exe(java ee),发现其中有glassfish,javadb以及mq之类的内容,你说的“ee包含se的内容”指的是什么?是不是我说的安装ee之前必须先要安装se,即ee版本要使用se版本的基本功能才能工作?

追答

你没发现下载的javaee 包比 se的大么,就说明里面已经包含se了,只下载ee即可,而glassfish等是类似tomcat的容器的附加内容,可以不下载。

追问

还有您说“web容器包含了java ee运行必须的运行库”,但如果只是使用spring,Hibernate之类的进行开发,而不使用web容器(Tomcat之类的),这样的开发也可以称为java ee开发,而此时为什么还是只需要安装java se的jdk就可以了呢?
另外你说“java se主要用于开发桌面应用”,可是服务器上安装的也是java se的jdk啊,并不是java ee,这个何解?

追答

这么和你说吧,如果你安装的是se,有没有使用其他任何web容器或者相关编译器的话是没有servlet这个web开发关键class类库的,而java ee版本则包含这个库,当然tomcat之类的web容器和j2ee相关的一些编辑器,如myeclipse可能也包含这个库。如果你安装了java se,不放使用记事本等文本编辑器写些web相关代码编译下试试就知道了,不要被web容器和开发工具给你提供的环境迷惑了

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-09-16
Java SE=Java Standard Edition
Java EE=Java Enterprise Edition
Java ME=Java Mobile Edition

SE主要用于桌面程序,控制台开发(JFC)
EE企业级开发(JSP,EJB) 一般是开发Web应用
ME嵌入式开发(手机,小家电)
第2个回答  2019-03-16
门牌号 nini2 后缀自己想,聪明人都明白
第3个回答  2018-04-26
说的再简单一点
以前的滑盖手机的小应用小游戏基本都是me做的
现在你在招聘上看见的招java开发基本指的都是se
你看见的java web指的大都是ee
换种说法
me做的是小机器上的基础应用,主要是手机上,但是手机已被安卓替代了
se做的是大概念上的软件,你所熟知的java软件都是se开发
ee在se的基础上添加了很多的框架,接口blabla
不过整体上,不论me还是ee,编辑基础逻辑用的都是se
相似回答