java语言和.net语言的区别是什么?

Python010

java语言和.net语言的区别是什么?,第1张

.net不是一个语言,是一种平台

就像java的jvm一样,它可以支持:asp.net C# 等等语言

.net的生成借鉴了jvm的优势,它所支持的原生语言是C#,和java有很大的相似之处

首先:编译结果都一样,都是中间代码,不是机器码

其次:语法结构、风格非常类似

第三:都提供垃圾自动回收机制

第四:都是面向对象的开发语言

区别是:.net目前只能运行在windows,jvm运行在多种平台上

1.相对C#,JSP的脚本语言JAVA也是面向对象的、分布式的、解释的语言。

2.与C#相似JAVA同样去掉了难以理解的指针等概念,取而代之的是类和对象。

3.

JSP有一项全新的技术――Servlet(服务器端程序)很好的节约

了服务器资源。

4.JAVABeans是针对ASP.NET的Server

Control的技术。只要

会JAVA,

JavaBeans就很容易写出。

5.再有就是JAVA的JDBC数据库连接技术。

6.JSP对XML同样有十分广泛的支持。

1)

面向对象性:

ASP+将C#作为一种面向对象语言,在很多方面来看,C#将成为微软的与Java相似的语言。

C#另一个有趣的地方是所有对象都自动变成为COM对象。如果C#能取得很大的市场份额,那么它将给ASP+带来类似于Java的功能,并且具备更快的性能,因为它可以和Windows环境紧密集成。

C#

是ASP+开发中一个最重要的功能,微软会将C#发展成为Java的强劲对手。这也是他们.Net框架的一个重要组成部分。我认为C#是微软在编程市场上击败对手的主要工具。我期待着微软能在这个产品后面倾注全力,这样,C#可以成为许多程序员的又一种选择。C#产生的结果是将进一步加固微软和Sun产品的战线。这对用户是有利的,他们可以选择两者之一来开发新的应用。

2)

数据库连接:

ASP另一个亮点是它使用ADO对象,ODBC,

OLE-DB和事务处理管理器。因此ASP

Web数据库应用开发特别简单。ASP+发展了更多的功能,因为有了ADO+!ADO+带来了更强大更快速的功能。JSP和JDBC目前在易用性和性能上同ASP/ADO相比已有些落后,当新版本ASP+/ADO+出现后这样的差别会更明显。我个人希望SUN应尽快能花大力气来追赶ASP+/ADO+的组合。

3)

大型站点应用:

ASP+将对大型站点(web

farms)有更好的支持。事实上,微软在这方面付出了巨大的努力。

ASP+可以让你考虑到多服务器(multiple

servers)的场合,当你需要更强大的功能时,仅仅只需要增加一台服务器。整个.Net框架已经充分地提供了这个方法。ASP+提供了外部会话状态(external

session

state)来提供内置式web

farm的支持。另外,由于请求的各组件相互间经过了充分的优化,所以速度很快。

于是ASP+现在可以在大型项目方面与JSP一样具有等同的能力。

而ASP+还有价格方面的优势,因为所有的组件将是服务器操作系统的一部分。对于JSP,你需要购买昂贵的应用服务器群来达到同样的目的。

4)

ASP+还提供更多的其它方面的新特性,例如:

*内置的对象缓存和页面结果缓存。

*内置的XML支持,可用于XML数据集的简单处理。

*服务器控制提供了更充分的交互式控制。

ASP+确实对ASP进行了较大的发展。

JSP同样是实现动态网页的一个利器。由于他的脚本语言是JAVA,所以继承了JAVA诸多优点。那么与ASP相比,应该可以说ASP和JSP基本不是一个档次上的。那么ASP.NET和JAVA却是可以抗衡的。

两者共通性:

1).net和java都支持多层分布式应用的标准架构。

2) .NET Framework和Java都有一个受控的运行时环境,它不但将源代码转换成中间语言,而且将这些中间语言编译成本地的可执行代码。两个环境都支持碎片整理、动态类加载和异常处理等。

3) .NET和Java都倡导和支持基于组件的设计、多态性、继承和接口、反射、泛型等,也提供基础类库来执行I/O、XML处理、带有连接池的数据库接入、文本操作与网页脚本编写。

两者区别很多:

1).NET Framework提供了一个跨服务器、PC和其它设备的一致的、面向组件的模型。而J2EE提供EJB作为服务器端的组件模型。

2)J2EE以Java语言为主,但是支持多个操作系统平台.Net则基于Windows平台,但是支持多种语言。

3)在Windows操作系统上,.Net应用由于提供了原生态支持,理论上反而更加稳定。

4).Net被微软独家支持,有更好的一致性和兼容性J2EE被不同的厂家支持,没有两个厂家的标准是一致的。

5)微软公司提供了.Net从设计开发、测试部署、运行维护一揽子的产品解决方案,可管理性好Java则缺少这样一致性的官方产品线。

6)Visual Studio专门针对.Net量身定制,具有大量的组件和开发框架,开发模式统一Java则被多家公司支持,开发模式不一致,开发代码量大。

7)Visual Studio作为最佳开发工具赢得了一系列的大奖。评估过Visual Studio和其竞争对手的客户都说,相对于最好的Java工具Eclipse,Visual Studio开发效率更高。

8)Microsoft的产品线丰富,几乎遍及每一个角落,而且所有产品都可以相互集成,可以快速整合一个应用。

9)Java应用运行在虚拟机JVM上.Net应用运行在.Net Framework上,而.Net是操作系统的一部分。

10)Windows Server的许可证比三个遵从J2EE的商业服务器中的任何一个许可都便宜很多。这个比率是12比1。

11) .NET Framework开发工具的费用也更加低廉。Visual Studio .NET是.NET的整合开发工具,它的许可费用大大低于商业化的J2EE销售商制定的开发工具的费用。

12).Net开发效率高导致开发成本,使用.NET维护费用更低。专家认为许可费用并不是一个项目的最大开支。典型的软件开发和维护占项目总费用的 50-80%。Middleware公司研究表明,在.NET上一个给定的应用程序开发相对于J2EE,只需要1/3的代码。代码越少就意味着维护成本更 低。

13) .Net Framework提供了专门针对用户体验的WPF组件,用户体验十分丰富Java缺乏面向用户体验的开发支持。