站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2EE 专题J2EE vs .NET

J2EE vs .NET

摘要: J2EE vs .NET
前言:

当J2EE出来的时候,我觉得很好,对J2EE的理解是一套Web开发的API标准. 这个标准由Sun公司负责制定,其他公司如IBM,BEA等去实现. 以至于后来.NET出来时对它有一些抵触, 最近对.net的资料进一步的接触,才知道原来他们是各有所长.

l 共同点:

1. 都是基于web应用的开发.

2. 都是解释性的语言

3. 对象的销毁都基于垃圾收集器

4. 都支持Web Service的开发

5. 都支持XML,数据库访问

6. 安全控制

l 优缺点

<table class="MsoTableGrid" style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1"><tr><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="115">

内容

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="228">

J2EE

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="237">

.net

</td></tr><tr style="HEIGHT: 16.5pt"><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.5pt" valign="top" width="115">

编程语言

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.5pt" valign="top" width="228">

Java

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.5pt" valign="top" width="237">

C#,C++,VB,Delphi等多语言

</td></tr><tr style="HEIGHT: 26.25pt"><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 26.25pt" valign="top" width="115">

可移植性

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 26.25pt" valign="top" width="228">

垮平台

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 26.25pt" valign="top" width="237">

只适合于windows平台

</td></tr><tr><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="115">

动态网页

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="228">

第一次访问时编译成一个Servlet存储.

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="237">

访问时或第一次访问时编译成class.

</td></tr><tr style="HEIGHT: 24.75pt"><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 24.75pt" valign="top" width="115">

网页实现手段

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 24.75pt" valign="top" width="228">

Jsp

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 24.75pt" valign="top" width="237">

Asp.net

</td></tr><tr style="HEIGHT: 35.25pt"><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 35.25pt" valign="top" width="115">

网页开发

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 35.25pt" valign="top" width="228">

基于传统的HTML

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 35.25pt" valign="top" width="237">

使用专门的WEB控件使得开发网业同开发程序一样的流程. 支持事件

</td></tr><tr style="HEIGHT: 51pt"><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 51pt" valign="top" width="115">

基本类型实现reference

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 51pt" valign="top" width="228">

用对象去封装一个基本类型

然后进行基本单类型与对象的相互转换

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 51pt" valign="top" width="237">

装箱

拆箱

</td></tr><tr style="HEIGHT: 15pt"><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt" valign="top" width="115">

中介语言

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt" valign="top" width="228">

ByteCode

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt" valign="top" width="237">

MSIL

</td></tr><tr style="HEIGHT: 23.25pt"><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 23.25pt" valign="top" width="115">

编译方式

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 23.25pt" valign="top" width="228">

即时编译

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 23.25pt" valign="top" width="237">

JIT

</td></tr><tr style="HEIGHT: 26.25pt"><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 26.25pt" valign="top" width="115">

执行宿主

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 26.25pt" valign="top" width="228">

虚拟机

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 26.25pt" valign="top" width="237">

CLR

</td></tr><tr style="HEIGHT: 18pt"><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 18pt" valign="top" width="115">

Web Service

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 18pt" valign="top" width="228">

较弱

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 18pt" valign="top" width="237">

</td></tr><tr style="HEIGHT: 18pt"><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 18pt" valign="top" width="115">

移动嵌入式开发

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 18pt" valign="top" width="228">

KJava, J2ME

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 18pt" valign="top" width="237">

Evc,Evb, Windows CE

</td></tr><tr style="HEIGHT: 28.4pt"><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 28.4pt" valign="top" width="115">

网络传输类类型

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 28.4pt" valign="top" width="228">

Class文件

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 28.4pt" valign="top" width="237">

源数据(MetaData)和MainFest

</td></tr><tr style="HEIGHT: 26.25pt"><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 26.25pt" valign="top" width="115">

数据库访问

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 26.25pt" valign="top" width="228">

JDBC

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 26.25pt" valign="top" width="237">

ADO.net

</td></tr><tr style="HEIGHT: 16.5pt"><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.5pt" valign="top" width="115">

执行速度

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.5pt" valign="top" width="228">

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.5pt" valign="top" width="237">

教快

</td></tr><tr style="HEIGHT: 9pt"><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 9pt" valign="top" width="115">

本地接口

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 9pt" valign="top" width="228">

调用原生代码(JINI)

</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 9pt" valign="top" width="237">

C++ 编程是唯一的二进制代码工具

</td></tr></table>

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.



↑返回目录
前一篇: 初学者如何开发出一个高质量的J2EE系统
后一篇: J2EE Enterprise Beans(原文)