了解Java,便了解了微软.NET

原创 2001年09月22日 18:07:00
人们对于美国微软在经过精心策划后于6月宣布的“Microsoft.NET”的设想是见仁见智。在传媒中“目前还很难说”的反应居多。实际上,由于具体产品开始出笼还是2~3年以后的事,现在说三道四确实为时尚早。
    
      这里有一把可以用来快速理解Microsoft.NET的钥匙。那就是先了解Java技术。这是因为微软自己就说过,“只要知道Java就可以更快地理解Microsoft.NET”。
    
      Microsoft.NET有几个关键点。其中最重要的一点是改革商务模型。微软公司感觉到只靠销售软件包的商务模型没有什么前途,该公司打算今后将中心转移到可以在网络上使用的“服务”型商务。
    
      这样,首要的问题就是解决网络上用来开发并执行“服务”的平台,这就是Microsoft.NET。这一平台应该是一个继承了目前的Windows资产,同时又是一个不比与其竞争的技术(即Java技术)逊色的现代化的东西。
    
      新的平台试图提高开发生产效率(再也不想为内存溢出错误(Memory Leak Error)而烦恼了!),并且试图使应用软件的发布更为容易(再也不想因为DLL版本不同而烦恼,希望不用重新启动电脑就能够安装应用软件)。为此,就需要将平台升级为现代化的内容。而且,Microsoft.NET的蓝图与Java十分相似。
    
      Microsoft.NET平台将推动程序执行环境的虚拟化进程。使用编程语言编写的代码,首先转换成中间代码“IL”后,在虚拟机“Common Language Runtime”上执行。在执行时利用“JIT(Just In Time)编译器”,通过将中间代码转换为本地代码(Native Code)来提高执行速度。此外,还配备实现内存管理自动化的GC(垃圾收集器,Garbage Collector)以及验证中间代码的机制。此外还有可以在虚拟机环境中利用的共同层次程序库(Class Liblaory)“Microsoft.NET Framework”
    所有这些特征与Java平台惊人地相似。均具有提高开发生产效率,容易发布软件(安装时只需单纯复制即可)等特征。这些都与Java技术一致。
    
      当然,Java与Microsoft.NET除了相似之处还有很多不同的地方。通过这些区别,就可以发现这两个技术在今后角逐时的力学关系。以下是主要的区别。
    
    (1)Java技术目前就可以利用。Microsoft.NET的登台还要等2~3年。
    
    (2)Java是采用一种语言(Java语言)开发的。而Microsoft.NET则可以接受利用Visual Basic和新的语言C#,以及所有的编程语言开发软件。
    
    (3)Java对应多个OS。而Microsoft.NET虽从原理上讲可以对应多个OS,不过估计目前暂时只以Windows环境为对象。
    
    (4)在XML方案方面微软的构思领先。为了实现对应网络的“服务”,采用了基于XML的远隔工程(Project)调入协议SOAP。对应XML的协议,原则上不能局限于特定的平台。这一点其他竞争公司也给与很高的评价。
    
      基于Java技术且对应网络、用来提供服务的协议还有Jini。不过,Jini是以Java为前提的技术,很难说它是用来分布不同种类的技术。
    微软公司有若干他所不擅长的领域。尤其是在高端服务器OS、高端数据库、大规模Web应用软件服务器以及Transaction中间软件领域中,已经难以同美国Sun Microsystems、美国IBM、美国Oracle以及美国BEA Systems等竞争对手一争高低。而另一方面,在桌面领域中微软依然占有压倒性的市场占有率。该公司所擅长的领域,说到底还是以Visual Basic为代表的容易使用的开发工具群,和以Office为代表的桌面环境。
    
      只要在桌面环境中的膨大用户支持该公司,就可以在网络中占有一方领地。如果应用Java的某个大规模Web网站提供优秀的服务,则只要开发出将其整合,便于使用即可。
    
      其结果,微软公司为了继续生存的最有效战略,是将桌面环境中的优势运用到网络时代--这便是听了Microsoft.NET说明后使人感受到的。
    
      不过话又说回来,要想开发既继承现有环境,又支持多个语言的Microsoft.NET,其难度将比开发Java技术要大。而另一方面,Java技术的开发正在稳步前进。展现在微软公司前面的路,的确是很不平坦
    
    (www.javaunion.org )

Java和.Net的共性:中间语言

  如果你比较熟悉Java的编译原理的话,你一定会对bytecode这个单词非常熟悉。确实,Java的最大特点并不是它是一个完全基于现代OO理念的编程语言或是其简单而容易上手,而是Java是并不直接把...
  • alishun
  • alishun
  • 2009年12月28日 00:52
  • 2163

壮哉大微软,.Net人的春天来了,你准备好了嘛!

http://www.cnblogs.com/hguchen/p/5621809.html ********************************************** ...
  • zhao1949
  • zhao1949
  • 2016年06月29日 09:04
  • 668

微软图表控件MsChart的简单使用

       昨天在网上看到了微软发布了.NET 3.5框架下的图表控件,第一时间抓下来看了一下,发觉功能很强劲,基本上能想到的图表都可以使用它绘制出来,给图形统计和报表图形显示提供了很好的解决...
  • XueminXu
  • XueminXu
  • 2014年05月27日 10:05
  • 1443

跨平台.NET Core--微软开源方向

跨平台.NET Core--微软开源方向 微软宣布.net开源已经有一段时间了,新的跨平台的.net框架叫.NET Core. 当前支持Windows/Linux/OSX/Docker,官网:...
  • yangzhenping
  • yangzhenping
  • 2016年02月25日 12:53
  • 3896

《深入了解.NET框架》

深入了解.net框架(一)理解受管理的执行(managed excution)    在受管理的执行过程的第一步是设计源程序。如果你想你的应用程序受益于common language runtime(...
  • benben1hao
  • benben1hao
  • 2001年06月19日 11:46
  • 1201

20160413,微软4月12日发布13个安全补丁

大家好,我们是微软大中华区安全支持团队。微软于北京时间2016年4月12日发布了14个新的安全公告,其中6个为严重等级,8个为重要等级...
  • MSSecurity
  • MSSecurity
  • 2016年04月13日 15:52
  • 3581

微软小娜开发系列教程<一>

1. 认识小娜自win10发布后,微软小娜已成为一大亮点,吸引了众多使用者、开发者去使用。定位于微软的第一款全球个人智能服务助手,小娜确实以高情商、高智商的表现受到好评。小娜成功的背后离不开微软强大的...
  • wqthaha
  • wqthaha
  • 2015年10月13日 09:25
  • 3670

专门给程序员玩的游戏Robocode现在可以用.net玩啦

     Robocode是一个程序员竞技游戏,继承官方自带的坦克基类,然后给这个坦克加入更强大的AI,与其它人的坦克进行单挑或者团战、混战皆可.最初目地是让初学者学习java更有兴趣,后来发展为不管...
  • miaolinvip
  • miaolinvip
  • 2010年07月10日 22:52
  • 3612

如何快速了解一个系统

有时候我们开发项目不是从项目一开始就参与的,那么,如何在项目进行到一半时,尽快的了解并上手这个项目,或者在项目已经完成的情况下,如何进行重构优化维护,这些都需要我们尽快了解项目。...
  • Francis123580
  • Francis123580
  • 2016年08月26日 21:22
  • 1282

.NET框架-微软C#编程风格官方指南

.NET C# 15 rules for coding style
  • daigualu
  • daigualu
  • 2017年03月13日 08:54
  • 1172
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:了解Java,便了解了微软.NET
举报原因:
原因补充:

(最多只允许输入30个字)