Java SE/EE/ME概念理解(Java版本发展历史)

甲骨文公司继续推动Java前进的战略。自2010年1月收购Sun后,甲骨文公司已经迅速积极的开始了java工作。甲骨文不只是提交谷歌
Android操作系统涉嫌侵权Oracle的Java专利的诉讼,数据库巨头还致力于改善在社区和开发人员中的地位,并给予他们所需要的开发支持。
10月2日至5日在旧金山举行在JavaOne
2011大会上,甲骨文增加的技术以及推出新的路线图被大家所接受。 Oracle
Java开发经理Hasan Rizvyi  和Oracle 融合平台开发经理Adam
Messinger,Oracle开发副总裁Cameron Purdy一起,在JavaOne 2011
上介绍了Java平台计划和产品演示,展示了最新的Java技术创新。

继上一篇文章中说的区别,其实分析的不够彻底,因此再次在这里做详细的分析。

Twitter运行系统主任Rob
Benson在Java2011上宣布,Twitter也有刚刚加入OpenJDK社区,以及Java
Community Process(JCP)组织。
Twitter将与甲骨文和JCP、OpenJDK社区的其他成员合作,帮助发展Java平台。
IBM,英特尔和红帽,以及ARM公司和 GetJar and Harris
IT系统公司,也出现在展会上展示他们对Java技术的持续支持。

零、Java与Sun、Oracle发展历史:

1、说明:最开始Java是Sun公司的,然后是Oracle(甲骨文)收购了Sun(太阳微系统/Sun
Microsystems),最后就是Java变成Oracle了,收购时间为:2009-04-20;所以下文中提到的Sun和Oracle都是具有历史上的关系。

2、参考:

下面来看一下甲骨文公司在2011年取得的主要Java进展。

一、从JDK 1.0到J2SE 1.2,最原始的版本发展历史

1、JDK 1.0版本于1996年1月23日发布,叫做为Oak。而真正第一个稳定的版本JDK
1.0.2,被称作Java 1。

2、到J2SE 1.2版本,代号为Playground。
这个在1998年12月8日的发布的版本和其到J2SE 5.0的后续版本被重改名为Java
2,而版本名称“J2SE”(Java 2平台,标准版)取代JDK以区别出来自J2EE(Java
2平台,企业版) 和J2ME(Java 2 Platform,Micro Edition)的基础平台。

3、也就是说,更改为Java 2之后再细分了三个版本出来,以区分Java
2平台级别。

4、参考:

(Java版本历史)

1.JDK 7

二、从J2SE到Java SE说起,也就是发展历史

不管是J2SE还是J2EE,关注的点是J2,也就是Java 2。

1、Java 2介绍:

Java
2平台包括:标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本。J2SE、J2ME和J2EE,这也就是SunONE(Open
NetEnvironment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入式系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。

2、J2SE改为Java SE:

Java SE
6,代号为Mustang。版本发布于2006年12月11日,Sun把原本的名称“J2SE”改为“Java
SE”,然后再从版本号中去掉“.0”,而开发者内部编号仍然是1.6.0。这个版本是根据JSR
270开发的。

3、参考:

(J2SE介绍)

(Java版本历史)

甲骨文公司发布的JDK
7,可用于Windows,Linux,Solaris和嵌入式平台。还发布了Mac OS
X的开发人员预览版。

三、J2SE 1.4到J2SE 5.0再到Java SE 6的版本编号发展历史

以上三个是比较具有代表性的版本编号;

1、标红的数字叫做版本编号。

2、而从J2SE
5.0开始,改编了这个原始版本编号,采用数字辈进行代替,但内部还是使用版本编号,所以还可以对这些数字这么说:内部版本编号。

3、官方变更说明:J2SE
5.0版本,代号为Tiger。这个在2004年9月30日发布的版本原本以1.5编号,也就是仍然使用内部版本编号。这个数字辈改变是为了“更好地反映成熟度、稳定性、可扩充性和J2SE的安全水准”。这个版本是在JSR
176底下被开发。

4、而5.0到6版本编号的变更,经历了两大改变,1为版本编号,2为J2SE改为Java
SE;

5、以上变更的官方说明:Java SE
6版本,代号为Mustang。版本发布于2006年12月11日,Sun把原本的名称“J2SE”改为“Java
SE”,然后再从版本号中去掉“.0”,而开发者内部编号仍然是1.6.0。这个版本是根据JSR
270开发的。

6、这个内部版本编号使用非常广泛,比如我们安装的JDK上,全部使用内部版本编号,需要注意的是,在安装包的文件夹版本编号是以三位进行命名的,比如:1.6.0_x,1.6.0大体不改变,除非新大版本发布,而后面的x是bug修复的补丁级别的。在比如Windows下的JDK安装目录:C:Program
FilesJavajdk1.8.0_131

7、通过以上的解释,也就可以推断出这些内部版本编号对应数字辈,比如即将发布的Java
SE 9,如果官方没明确规定,那么就是1.9.0。

8、参考:

(Java版本历史)

澳门新葡亰8455下载app 1

四、Java 8与Java SE 8有什么区别

1、其实没有什么区别,Java 8就是Java SE 8。

2、如果更深入的解释,Java
8代表技术的更新点,在JSR的便准下通过的新技术点,而这些更新的技术放在了Java
SE 8的安装包JDK 8下。

3、比如:从J2SE 5.0开始就叫做Java 5,到Java SE 6叫做Java
6;这些特点足以说明,这两个就是同一个东西。

8、参考:

(Java版本历史)

2.OpenJDK继续扩充

五、JDK 8与Java SE 8、Java EE 8有什么区别

1、从上面的发展历史来说明,JDK就是Java SE,这两者就是同一个东西。

2、更有力的证据,在JDK下载页面,如下所示:

澳门新葡亰8455下载app 2

3、还可以这么说,JDK就是Java平台,同样也是Java
SE。如果要使用Java语言进行开发,包括开发Web,那么一定要装JDK。

IBM,Apple, SAP, Azul和Twitter加入了OpenJDK。

六、开发Java EE的Web,需要安装Java SE还是Java EE,或者说是JDK

1、先解释Java EE,Java EE平台构建于Java SE平台之上,Java
EE平台提供一组API和运行环境来开发和运行大规模的,多层的,可扩展的,可靠的和安全的网络应用程序。

2、也就是说Java
EE是一个标准而已,而这些标准的实现是Web容器提供的,比如Servlet-API,在Tomcat这个Web容器下的lib文件夹就集成了servlet-api.jar的包。

3、在官方上的下载页面上,有提供开发Java EE的SDK下载,我需要下载吗?

澳门新葡亰8455下载app 3

下载下来的是glassfish的Web容器,里面是按照Java
EE的标准API开发的,能运行Java
EE的Web程序,同时这个容器还提供了对EJB的支持。

4、不管开发Java EE还是Java
SE,只要开发与Java语言有关的程序,都必须安装JDK。比如在开发Web程序,就是与Java
EE有关的,那就必须引入Web容器提供的API。比如servlet-api.jar就是Tomcat提供的,在不用POM管理的情况下,就必须导入这个JAR包。而Java
SE一般代表了Application类型,比如开发桌面应用,一般是包含在了Java
SE中,也就是JDK中,只需要这个JDK里买的包即可,与Java EE无关。

5、再者,如果要开发Web应用,而且要使用EJB,那么必须引入glassfish的Web容器提供的EJB的API的JAR包。

6、参考:

澳门新葡亰8455下载app 4

七、Java EE有独立的版本发展历史

1、首先可以肯定的是,Java EE有自己独立的版本发展历史,这一点与Java
SE是区分开的。不要这样错误的认为Java SE 8就代表了Java EE
8,这两个是不同的东西。

2、从上面的观点中可以解释的一点是,Java
EE提供了一组标准的API,而Web容器是实现这组API,然后提供JAR包给开发人员。那么在Web容器去实现这组API时,比如实现Java
EE 7的API时,可能会使用Java
8的新语言特性去实现;那么此时,开发人员在引入这个JAR包时,就必须安装支持Java
8的安装包,也就是Java SE 8,JDK
8。那么这种联系关系可以说明是有联系,但功能却是区分的。

3、参考:

(Java EE API文档)

(Java EE发展历史)

3.团队整合

八、Java EE下的Servlet和JSP发展历史

1、在Java
EE的发展历史下,具有代表性的是Servlet和JSP这两个,这两个也是有发展历史的,不过这些发展历史都同一归到了Java
EE下,当一个提案被JCP通过时,那么新的版本就会收入到Java
EE的新版本中。各大Web容器厂商就会按照标准API进行开发。

2、参考:

(Servlet发展历史)

(JSP发展历史)

甲骨文已成功整合了其Java开发团队,JRockit团队和HotSpot团队。

九、对于实现Java EE标准API的Web容器有哪些?

1、在Web容器方面,主要围绕两大方面的技术支持:Servlet和EJB。有些容器是不支持EJB的,所以在使用上需要注意。

2、下面是Web容器的相关介绍:

Tomcat

澳门新葡亰8455下载app,Apache鼎力支持的Java
Web应用服务器(Servlet容器),稳定性比较强和文档资源比较全面,在开源领域受到众多追捧。

JBoss

当之无愧的Java
EE容器,同时支持Servlet和EJB,企业级开发人员广泛使用,因为毕竟弥补了Tomcat只支持Servlet的遗憾。

Resin

Resin也仅仅是一个Servlet容器,运行速度非常优秀,使得它在轻量级Java
Web领域比较受欢迎,特别是互联网Web领域,而且他们有提供商业版本支持,一些知名商业公司使用他们的服务比较多,例如163、ku6等。Resin4支持不同的Web
App分配不同的端口。

WebLogic和WebSphere

来自BEA公司的WebLogic和IBM的WebSphere,跟Resin比较类似,同样是只支持Servlet容器的商业级应用。WebLogic
支持企业级的、多层次的和完全分布式的Web应用,并且服务器的配置简单、界面友好。IBM的WebSphere可以细分为WebSphere
Performance Pack、Cache Manager 和WebSphere Application
Server等系列,其中WebSphere Application
Server是基于Java的应用环境,可以运行于Sun Solaris、Windows
NT等多种操作系统平台,用于建立、部署和管理Internet和Intranet
Web应用程序。

Glassfish

Sun公司自己发行的Java
EE服务器,开源社区比较活跃,经过v1v2到目前的v3,它已经逐步走向成熟。作为一款免费、开放源码的应用服务,她实现了Java
EE 5. Java EE 5平台涵盖了EJB 3.0、JSF 1.2、Servlet 2.5、JSP 2.1、JAX-WS
2.0、JAXB 2.0、 Java Persistence 1.0、Common Annonations 1.0、StAX
1.0等。

Glassfish支持通过内存会话状态复制,拥有良好的部署体系结构的可用性和可扩展性。对于集群的支持也很强大,简单添加机器,即可轻松实现网站的负载能力。

对于HTML生成解析能力吞吐量与Apache不相上下。我们通常用Tomcat会作为后端去处理JSP内容,就是因为它对于HTML解析吞吐量比较吃紧。

Glassfish还支持目录部署,热部署,这些都是Tomcat的缺陷。版本也比较人性化,有开发环境的简化版,部署Web项目的版本。

3、参考:

(Web常用容器)

澳门新葡亰8455下载app 5

十、JCP和JSR是什么 

1、JCP(Java Community
Process)(Java社区进度)成立于1998年,是使有兴趣的各方参与定义Java的特征和未来版本的正式过程。

2、JCP使用JSR(Java规范请求,Java Specification
Requests)作为正式规范文档,描述被提议加入到Java体系中的的规范和技术。

3、JSR变为final状态前需要正式的公开审查,并由JCP Executive
Committee投票决定。最终的JSR会提供一个参考实现,它是免费而且公开源代码的;还有一个验证是否符合API规范的Technology
Compatibility Kit。

4、可以这么理解,每一个Java的规范都是通过JCP进行投票通过的,而这些标准的编号有JSR进行管理的。

5、参考:

(JCP解释)

(JCP社区,可以自由注册,并且可以提交自己的意见,如果通过了,将收录进去)

(这个是Java 9的提案)

(这个是Java 9的投票结果)

4.JDK 8路线图

十一、JDK与OpenJDK区别

1、JDK: Java Development
Kit(JDK)是太阳微系统针对Java开发人员发布的免费软件开发工具包(SDK,Software
development kit)。自从Java推出以来,JDK已经成为使用最广泛的Java
SDK。由于JDK的一部分特性采用商业许可证,而非开源。因此,2006年太阳微系统宣布将发布基于GPL的开源JDK,使JDK成为自由软件。在去掉了少量闭源特性之后,太阳微系统最终促成了GPL的OpenJDK的发布。

2、OpenJDK:OpenJDK原是Sun
Microsystems公司为Java平台构建的Java开发环境(JDK)的开源版本,完全自由,开放源码。Sun
Microsystems公司在2006年的JavaOne大会上称将对Java开放源代码,于2009年4月15日正式发布OpenJDK。甲骨文在2010年收购Sun
Microsystem之后接管了这个项目。

3、由于发展历史关系,OpenJDK的发展大于JDK,所以之后JDK的开发会遵循OpenJDK的步伐。为什么这么说,之前OpenJDK是JDK的一个分支,现在OpenJDK成为了主干。

4、同样的,OpenJDK也是遵循JCP的JSR标准。或者这种方式不应该这么说,不管OpenJDK还是JDK,都叫做Java,那么只要是Java就是受JCP的JSR标准约束。

5、参考:

(JDK说明)

(OpenJDK说明)

(OpenJDK与JDK区别分析)

(OpenJDK官网)

(JDK下载)

甲骨文官员表示,JDK 8将在2013年夏天发布,会增加Jigsaw,Lambda 、JavaFX
3.0等诸多功能。

十二、EJB是什么?

1、参考:

澳门新葡亰8455下载app 6

十三、JDK与JRE区别,安装哪个

1、JRE(Java Runtime
EnvironmentJDK):JRE顾名思义是Java运行时环境,包含了Java虚拟机,Java基础类库。是使用Java语言编写的程序运行所需要的软件环境,是提供给想运行Java程序的用户使用的。JRE根据不同操作系统(如:Windows,Linux等)和不同JRE提供商(IBM,ORACLE等)有很多版本,最常用的是Oracle公司收购Sun公司的JRE版本。

2、JDK(Java Development
Kit):JDK顾名思义是java开发工具包,是程序员使用Java语言编写Java程序所需的开发工具包,是提供给程序员使用的。JDK包含了JRE,同时还包含了编译Java源码的编译器javac,还包含了很多Java程序调试和分析的工具:jconsole,jvisualvm等工具软件,还包含了Java程序编写所需的文档和demo例子程序。如果你需要运行Java程序,只需安装JRE就可以了。如果你需要编写Java程序,需要安装JDK。

3、参考:

 

十四、其它

(Java SE API文档)

,通过下方的入口进行查询

澳门新葡亰8455下载app 7

 

5.JavaFX 2.0

JavaFX 2.0,提供了Java客户端用户界面(UI)技术的迁移路径。JavaFX
2.0是先进的企业应用Java
UI平台,下一步,Java将作为主要的富客户端平台进行发展,。

澳门新葡亰8455下载app 8

网站地图xml地图