您的位置:首页 > 其它

J2EE VS .NET

2008-10-19 07:55 288 查看
CSDN - 文档中心 - 其他开发语言 阅读:196 评论: 0 参与评论
标题 J2EE vs .NET 选择自 riding 的 Blog
关键字J2EE vs .NET
出处
前言:
当J2EE出来的时候,我觉得很好,对J2EE的理解是一套Web开发的API标准. 这个标准由Sun公司负责制定,其他公司如IBM,BEA等去实现. 以至于后来.NET出来时对它有一些抵触, 最近对.net的资料进一步的接触,才知道原来他们是各有所长.
l 共同点:
1. 都是基于web应用的开发.
2. 都是解释性的语言
3. 对象的销毁都基于垃圾收集器
4. 都支持Web Service的开发
5. 都支持XML,数据库访问
6. 安全控制
l 优缺点
内容J2EE.net
编程语言JavaC#,C++,VB,Delphi等多语言
可移植性垮平台只适合于windows平台
动态网页第一次访问时编译成一个Servlet存储.访问时或第一次访问时编译成class.
网页实现手段JspAsp.net
网页开发基于传统的HTML使用专门的WEB控件使得开发网业同开发程序一样的流程. 支持事件
基本类型实现reference用对象去封装一个基本类型
然后进行基本单类型与对象的相互转换
装箱
拆箱
中介语言ByteCodeMSIL
编译方式即时编译JIT
执行宿主虚拟机CLR
Web Service较弱
移动嵌入式开发KJava, J2MEEvc,Evb, Windows CE
网络传输类类型Class文件源数据(MetaData)和MainFest
数据库访问JDBCADO.net
执行速度教快
本地接口调用原生代码(JINI)C++ 编程是唯一的二进制代码工具
l 编程语言
J2EE是只用Java语言实现, 而.NET支持多种语言,甚至连Fortran, Cobol,phyto都支持.但是Java语言是与平台无关的,由此可看出, 一个是平台无关性,注重于移植性, 一种注重语言无关性, 为的是将各类程序员都吸引到一个平台上.从而可以说,sun注重客户的应用,让客户在一个平台上一次性投资,可在多个操作系统中运行. 而微软则是注重吸引程序员,达到市场扩大目的.
l 动态网页
既然是web开发,就少不了动态网页,两者都有自己的开发技术,JSP与ASP. JSP与Servlet是J2EE中对网页处理的最主要的技术,通过将Jsp调用时编译成为一个Servlet,而碰巧的是Asp.net也是将aspx文件编译成一个Class文件,并有一些事件,其中有HTML的部分直接转换到类的Render含数中去. ( 这与以前的asp不一样,以前IIS将启动一个asp解释程序将*.asp文件解释翻译成一个纯HTML输出到浏览器中. 另外 原来在<% %>之间可以定义函数,而在asp.net中只能支持在<script> </script>书写函数)
另外有一点确实是微软很高明的一招,在.net中放入web.UI的控件,使的程序员不需要学习另外一种技术(网页制作),便可以象VB那样拖拖控件,更改属性,就可以开发出网页. 当然DreamWare,frontPage等等也都可以这样在Jsp中一样使用,但是明显没有这么方便.另外程序员需要学习这些工具的使用方法. 这也体现了一个原则, .net适合中小web应用,而j2ee多用于大中型web应用开发. 如果一个程序员j2ee开发一个web应用,需掌握的学习的技术点远远大于用.net开发.
l 本地接口
J2EE更确切说应当是Java语言提供了JINI方式,通过这种原码编程, 为Java增加一些新的特性..net则只支持C++编译产生原生代码一种直接编译途径.
l 发布时的环境
J2EE程序执行时需要安装JDK( 也就是虚拟机).同样 .net程序执行时需要安装.net FrameWork. 在Java虚拟机中, 一个Java类-其保存形式为class文件,被类装载器在需要时装入,然后由执行引擎执行.这种装入也可以通过网络,装入位于其它机器内的class文件.class文件由魔数,版本号,常量表,访问标志,this类,Supper类,接口,成员域,方法区以及属性区组成. ..ne则是运行CLR,实际上多个或一个类别组装到一个dll文件中,这个DLL文件首先有一个Mainifests,就是装配清单,装配清单中包含有多个class的MetaData,一个MetaData定义了一个Clss类型.CLR通过查询每个Dll中的manifests来加载执行一个新类型class.这样一来避免早期微软的COM接口必须要写注册表才能注册使用的弊端.有一点必须注意:所有的.net程序其实都是在一个被称为运行宿主进程内运行.因为所有的 .net程序都是以装配件.dll文件保存的,当然需要一个exe作为这些dll的宿主进程(asp.net提供了一个,IE也是,windows shell也充当的宿主进程) 的宿主进程创建了多个app domain,每个app domain类似于操作系统的Proces.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: