java SE与javaee的区别在哪里?

java SE与javaee的区别在哪里?,第1张

javase与javaee的区别在于领域不同和作用不同:

1、领域不同:

javase为平台标准版,可供任何领域使用。

javaee为平台企业版,主要供应企业的使用。

2、作用不同:

javase提供了开发与运行Java软件的编译器等开发工具、软件库及Java虚拟机。它也是Java2平台、企业版本和Java网页服务的基础。

JavaEE不仅巩固了标准版中的许多优点,例如“编写一次、随处运行”的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等。

同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。

Java SE的简介:

Java se是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。

用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算,从此Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。

Java语言恐怕是稳居网路应用程序语言的首选了,这都要归功于它高度的安全性以及跨平台的特性,几乎在目前所有的电脑平台上您都可以见得到Java的芳踪。

Java se用于开发和部署桌面、服务器以及嵌入设备和实时环境中的Java应用程序,Java SE包括用于开发Java Web服务的类库,同时,Java SE为Java EE提供了基础。

Java Se的特点:

Java是一门面向对象的编程语言;

面向对象(Object Oriented) 是一种软件开发思想。它是对现实世界的一种抽象,面向对象会把相关的数据和方法组织为一个整体来看待。

Java摒弃了C++中难以理解的多继承、指针、内存管理等概念不用手动管理对象的生命周期

Java语言具有功能强大和简单易用两个特征,现在企业级开发,快速敏捷开发,尤其是各种框架的出现,使Java成为越来越火的一门语言。

Java是门静态语言,静态语言指的就是在编译期间就能够知道数据类型的语言,在运行前就能够检查类型的正确性,一旦类型确定后就不能再更改。

Java具有平台独立性和可移植性;

Java有一句非常著名的口号:Write once,run anywhere,也就是一次编写,到处运行。

Java能够容易实现多线程;

Java具有高性能;

Java具有健壮性;

Java很容易开发分布式项目。

JavaEE的简介:

JavaEE应用程序是由组件构成的,也就是说它是基于组件开发的。组件是具有独立功能的单元,它们通过相关的类和文件组装成JavaEE应用程序,并与其它组件相交互。一个组件的更改不会影响其它组件,代码重复减少,重用率高。有利于良好的分工与协作,实现并行开发。如果是用三层结构开发,那么表示层与数据访问层相互独立,因此美工可以更方便的扩充表示层,使系统具有良好的可扩展性。

JavaEE技术内容:

JDBC:

java数据连接,是一种用于执行SQL语句的java API.,可以为多种关系数据库提供统一访问。有了JDBC就不用因为不同的数据库而要写个不同的应用程序,开发人员只需要使用JDBC API写一个程序就够了。

JNDI:

java命名和目录接口,提供了一种统一的方式可以在网络上查找和访问服务,通过指定一个资源名称,该名称对应于数据库或命名服务中的一个记录,同时返回数据库链接简历所必须的信息。

在DataSource中事先简历多个数据库链接,保存在数据库连接池中,当程序访问数据库时,只用从连接池中取空闲状态的数据库链接即可,访问结束,撤销资源,数据库链接重新回到连接池。

EJB:

EJB是sun的javaEE服务器端组建模型,设计目标与核心应用是部署分布式应用程序,简单来说就是把已经编写好的程序(即类)打包放到服务器上执行。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。包括四种对象类型:无状态回话bean(提供独立服务),有状态回话bean(提供回话交互),实体bean(持久性数据在内存中的体现,服务器崩溃后可恢复),消息驱动bean。

RMI:

远程方法调用,能够让某个java虚拟机上的对象像调用本地对象一样的调用另外一个java虚拟机中的对象上的方法。

JSP:

Java服务器页面,是一个动态内容模板,实现了html语法中的java扩展。

Servlet:

Servlet是一种小型的java程序,它扩展了web服务器的功能,作为一种服务器端的应用,当被请求时同时开始执行,这和CGI Perl脚本很相似。Servlet提供的功能大多与jsp类似,不过实现的方式不同,jsp通常是大多数html代码中嵌入少量的java代码,而servlets全部由java写成并且合并成html

XML:

是一种可扩展的标记语言,被用来在不同的商务过程中共享数据,其目标是平台独立性,记得在学习xml的时候,可以自己写标签,只要有结束标签就可以识别,还是相当强大的。

JMS:

是一个java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持,消息通信可以是点对点的,也可以是发布订阅型的。

java IDL:

JavaIDL支持的是一个瞬间的CORBA对象,即在对象服务器处理过程中有效。实际上,java IDL的ORB是一个类库而已,并不是一个完整的平台软件,但它对java IDL应用系统和其他CORBA应用系统之间提供了很好的底层通信支持,实现了OMG定义的ORB基本功能。

JTS:

组件事物监听器,TPM是一个程序,它代表应用程序协调分布式事物的执行。TPM与数据库出现的时间长短差不多;在60年代后期,IBM首先开发了CICS,至今人们仍在使用。经典的(或者说程序化)TPM管理被程序化定义为针对事务性资源(比如数据库)的 *** 作序列的事物。随着分布式对象协议,如CORBA、DCOM和RMI的出现,人们希望看到事务更面向对象的前景,将事务性语义告知面向对象的组件要求对TPM模型进行扩展-在这个模型中事务是按照事务性对象的调用方法定义的,JTS只是一个组件事物监听器(有时也称为对象事务监听器(object transaction monitor))或称为CTM。

JTA:

JTA允许应用程序执行分布式事务处理—在两个或多个网络计算机资源上访问并且更新数据。JDBC驱动程序的JTA支持极大的增强了数据访问能力。

JavaMail:

提供给开发者处理电子邮件相关的编程接口。

JAF:

JAF是一个专用的数据处理框架,它用于封装数据,并为应用程序提供访问和 *** 作数据的接口。

楼主只需要知道一下几点就可以了:

1、javaEE 不过是 java 的企业应用,也就是大批量定制软件的一个模板,像生产线的模式一样,需要遵循的一个框架规则

2、特征就是 MVC 展现层 业务层 数据库 *** 作层的 分层思想

3、需要了解html css JavaScript 数据库 等,你应该先学习这些 然后再学servlet 然后JSP等,这些基础掌握后 可以使用各种框架进行整合 ,提升javaEE的技术含量,也将MVC思想实现的更清晰, 比如struts spring hibernate等等

JavaEE和ASP.NET相比Javaee更有前途。

J2EE与.NET比较

1.体系架构的比较

作为彼此竞争的应用平台,J2EE和.NET开发平台在目标和体系结构上极其相似,但在实现上又完全不同。

(1)类似的平台基础构造 J2EE和.NET两个平台在底层的执行引擎都源于托管的虚拟机概念,但.NET的CLR沿着Java虚拟机(JVM)走得更远,CLR在借鉴了JVM的自动垃圾收集、异常处理等机制的同时,又为.NET平台添加了多语言支持、组件自描述等新的特性。

在.NET和 J2EE平台上,程序的编译都经过两个类似的过程。首先,特定高级语言编译器将C#(及其他.NET语言)和Java源代码分别翻译成中间语言(IL)和字节代码(ByteCode)。.NET在中间语言设计时通盘考虑了多个主流高级语言,在这一层面实现了.NET平台的跨语言承诺;J2EE的基石是Java语言,它最典型的特征是:一次编写,多次运行。跨平台是J2EE一直引以为豪的关键,这是通过JVM来实现的。

其次,在执行时,中间语言被即时编译器(JIT)编译成特定平台的二进制代码,字节代码则通过JVM解释执行,完成各自语言的指令功能。鉴于微软在“Wintel平台”上的代码优化功底,.NET代码的执行速度较之于Java有明显的优势是不争的事实。但在Unix/Linux平台上,由于.NET迟迟未能实现其跨平台的承诺,J2EE几乎成了惟一的选择,执行效率的比较也就无所谓。在代码执行的同时,通用语言运行时和Java虚拟机也都提出了异常捕捉、类型安全、内存分配和垃圾收集等自动化内存管理工作,大大减轻少了现代软件的内存泄漏问题,减轻了程序员的繁重负担。

面向对象程序设计在J2EE和.NET平台中都获得了直接的支持,单根继承加多接口实现是它们共有的特征。但在面向对象之外,.NET对现代组件编程提供了直接支持。当然,当下很多企业中间件都是基于J2EE平台,只是.NET从设计、编码、配置到运行都给予了组件编程更多、更直接的支持。

在基础的和企业级的服务上两个平台很难一决高低。从基础的集合、字符串 *** 作到企业级的API接口,如JMS、JDBC、JAX和JNDI等,J2EE在这方面有着非常坚实的结构。微软.NET框架类库也不示弱,提供了从图画、网络、线程到ADO.NET、ADSI、Windows表单和ASP.NET等一系列的API。

除去API类库的无缝的功能复用外,对本地平台的调用 *** 作也是值得关注的。CLR和Java虚拟机都支持本地方法的调用。在异构平台方面,J2EE更钟情于IIOP(InternetInterORB Protocol),而.NET则使用SOAP。

(2)相同的三层/多层体系 基于三层/多层分布式计算结构已毋庸置疑地成为当今企业应用的主流模式,也是两个平台较量的着力点。

在客户端,表示层负责用户与系统的交互。对于不同的处理要求,.NET和J2EE都提出了基于桌面的应用程序和基于浏览器的Web应用的开发组件:JavaApplication与Windows表单、Java Servlet/JSP与ASP.NET双双形成犄角之势。但Windows表单依赖微软桌面系统的天然优势,无论在交互速度还是在界面的表现性能上都较JavaApplication稍胜一筹。Servlet/JSP与ASP.NET是目前企业在“瘦客户端”应用的重点,两者都基于HTTP请求/响应模型,通过HTML浏览器页面完成用户交互。虽然ASP.NET声称在底层通过编译执行获得了相当高的处理速度和服务器方控件的浏览器自适应能力,但目前并没有这方面的硬性数据,很难据此而论高低。在缓存、状态优化等方面两者可谓是旗鼓相当。另一个与客户端应用相关的技术是ActiveX与Applet,从目前的趋势来看,它们在两个平台上的地位逐渐边缘化,也不为大多数企业所接受。

在中间层,分布式业务组件负责企业应用的商业逻辑部署。由于这些业务组件经常负责处理数据库连接、网络资源和线程等高昂的资源,所以一直是三层/多层架构的关键和企业应用的核心。J2EE的EJB是一个成熟的、得到业界广泛支持的大型企业级组件框架,而.NET组件则是建立在新型的COM+服务之上,两者在组件与 *** 作系统的交互、客户端资源共享等方面都有很好的支持。.NET则通过元数据支持自描述性的组件开发、XCOPY部署以及多版本共存,无需注册表和描述文件,对企业客户有一定的吸引力。

在后端数据层,两个平台都为数据库连接量身定做了一套数据存取模型:J2EE的JDBC和.NET的ADO.NET,它们在支持传统SQL数据源的同时,也支持新型的XML数据源。这方面由于更多地涉及到具体的数据库产品,很难说那种数据模型更有优势。

2 移植性比较

在移植性方面,.NET支持跨语言,J2EE支持跨平台。

微软通过.NET 通用语言运行时来消除编程语言的差别,“选择.NET平台就意味着选择Windows”,这句话至少在可预见的一段时间里仍然是一个基本事实。J2EE则通过Java虚拟机来消除平台差别,跨平台是它的一大卖点,也是在选择企业应用开发平台时的一个重要参考因素,几乎所有的主流 *** 作系统都提供了对J2EE的支持;实际上如果要搭建跨Unix、Windows等多个 *** 作系统平台,J2EE平台几乎是惟一的选择,J2EE更关注跨平台而不是跨语言。但微软认为,如果企业的应用都能通过标准协议以Web服务的方式发布,那么平台都是中立的。为了吸引更多的开发者和鼓励广大企业厂商转到.NET平台,微软提出了多语言支持,希望用跨语言的交互性来平衡跨平台的互 *** 作。

3. 性能比较

性能是J2EE和.NET喋喋不休的话题。二者之间著名的论战是一个关于宠物店的范例应用。宠物店是Sun一度以来作为J2EE典型应用的展示范例,而.NET“自告奋勇”地在自己的平台上实现了该宠物店应用,且声称代码行是J2EE的1/3,效率却是J2EE的30倍。但Sun的理由是这个范例根本不适合用来做性能比较,该范例实现也没有做针对性能的优化,而且指责微软通过后端数据库优化和缓存虚抬了.NET平台的效率。这样的争吵当然不能作为判断的依据,目前也没有见到更客观的第三方评测报告。在“Wintel平台”上也许没有理由怀疑.NET的性能;至于非Windows平台,.NET和J2EE也不再具有可比性。

4.安全性、稳定性比较

WINDOWS本身的安全漏洞,使得.NET的安全性不如J2EE。同时,在应用服务器的选择上,.NET只能用IIS,安全性、稳定性难以保证;而J2EE有更多的选择,可以在诸多遵循标准的厂商所提供的应用程序服务器中,选择最符合需要、成本最低、而且又被认为是最佳的平台。

5.可扩展性比较

.NET平台的扩展思想是基于软件的横向扩展,而J2EE平台的扩展思想则是基于硬件的纵向扩展。

Windows系统一般只能扩展到不超过8个处理器,而Sun的系统却可以扩展到100个甚至更多处理器。

基于J2EE平台的应用程序可被部署到各种 *** 作系统上,例如可被部署到高端UNIX与大型机系统,这种系统单机可支持64至256个处理器,这是NT服务器所望尘莫及的。J2EE领域的供应商提供了更为广泛的负载平衡策略,能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。

6.成熟度比较

在平台的成熟度方面,两者也有一比。J2EE在1999年形成了成熟的架构,发展至今已经具有相当成熟的、经过检验的企业应用系统。而.NET究其渊源是源自微软以前开发企业应用程序的平台DNA(DistributedNetwork Architecture),其中包括了许多已经被证实的技术,并且这些技术已经在产品中得到实现,包括微软的事务服务器、COM+、消息队列和SQL Server数据库等。

7.第三方厂商的支持

J2EE作为一种开放的规范,从一开始就得到了众多厂商的支持,IBM、BEA、HP、Oracle等在J2EE的实施上都有较大的投入。目前市场上最好的J2EE应用服务器并不是Sun与Netscape合资的iPlanet,而是BEA的WebLogic和IBM的Webshpere。开发工具有Borland的JBuilder、Sun的Forte for Java、BEA的WebLogicWorkshop、Oracle的JDeveloper、IBM的VisualAge forJava等。

而.NET在设计之初就紧紧地把平台规范与产品胶合在一起。虽然,NET架构的一小部分具有开放性(如C#语言、通用语言基础构造CLI 和Web服务标准),但至少目前很难想象会有一个非微软的.NET实现。Visual Stdio.NET是其唯一的开发工具。

8.开源支持比较

J2EE开源产品众多,免费框架居多,相应的最佳实践设计模式层出不穷。而.NET无开源社区支持,是以框架开发者为主导的设计。

9.学习成本比较

J2EE门槛较高,由于多且杂,需要开发人员花费很长时间才能熟悉整个体系。而.NET门槛较低,使用方便,学习成本较低。但是,对于开发人员来说,.NET在系统整体架构的设计方面不如J2EE易于把握。

10.对WEB服务支持的比较

从.NET和J2EE这两个平台的发展历程来看,.NET从一开始就深深打上了Web服务技术的烙印,在它的市场推广活动中,无时无刻不凸显其作为Web服务的开发和部署平台的特征,可以说,.NET天生就是为Web服务准备的开发和部署平台。相对.NET而言,J2EE是一个比较“老”的东西,最初它是为了将Java平台拓展到企业级应用领域而制订的一个平台框架规范,随着Web服务技术的兴起和发展,J2EE平台作为一个企业级应用的开发和部署平台,无法回避业界的重大技术革命——Web服务,J2EE也不断地引入了对Web服务的支持。

从服务描述、服务实现和服务的发布、发现与绑定,以及服务的调用和执行这些不同的角度看,J2EE和.NET的支持基本不相上下,惟一的区别可能是.NET的开发工具更为方便一些、集成度更高一些。

在Web服务规范的控制方面,微软与IBM共同主推了大量的Web服务规范,在一段时间内,两家公司Web服务技术的市场推广活动都是联合举行的,不难看出这两家公司在这个领域背后的战略合作关系。最初的Web服务核心技术SOAP、WSDL主要由这两家公司制订,后来的UDDI是由这两家为首的多家核心企业共同制订,再后来的一些不是核心的Web服务规范,如WS-Inspection、WSFL、WS-Security、WS-Routing、WS-License和WS-Referral等,则完全是由这两家来制订的。不难看出:IBM和微软对于Web服务的贡献以及它们对Web服务规范的控制。

尽管由于某种原因,Sun公司曾经在很长的一段时间里被排除在WS-I(由IBM,微软和BEA发起成立的促进WEB服务互 *** 作的一个组织)的门外,但这并没有影响Sun公司继续在WEB服务方面坚持开放的战略。Sun公司是Java语言的发明者,而作为一个开放的跨平台的技术体系,Java在WEB服务的开发方面也起着非常重要的作用。双方妥协后,Sun最终被接纳为WS-I的董事成员。

Sun公司积极地参与了制订Web服务规范的过程,像XML和ebXML。并已经在Java中支持WEB服务中最重要的规范,例如SOAP(JAX-RPC、JAXM、SAAJ和JMS)、WSDL(Java API forWSDL)、UDDI/ebXML(JAXR)和XML(JAXP,JAXB)等等。Sun公司除了积极地参与Web服务领域里的标准化工作,更是努力地为客户提供全面的软件产品,为用户开发和部署Web服务提供平台。Sun公司的Sun ONE Web服务平台开发版,是业界第一个用于基于Java技术的Web服务和Web应用开发的全方位的集成平台。该平台集成了多种SunONE服务器软件、Java开发工具,支持业界的WEB服务标准,而且是面向开发人员设计,安装和使用都非常简单。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9933600.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存