首页 > 科技 >

今天谈谈.NET与Java,入门说话的选择

2019-05-18 15:26:02 暂无 阅读:569 评论:0

.NET与Java的这种相似为快速斥地框架的斥地供应了便当,若是您把握了C#,那么,把握Java这个说话几乎是不费什么气力的,需要破费时间的只不外就是熟悉彼此的类库。.NET是.NET Framework,Java是J2SE。进修这两者的理论根蒂都是面向对象理论。所以,一名有着面向对象理论根蒂的人是很轻易把握.NET和Java的。

今天谈谈.NET与Java,入门说话的选择

简介

.NET是迎接J微软推出的一种新的软件运行..,它包罗一整套应用局限普遍的手艺,旨在java所带来的挑战。.NET给快速斥地框架斥地带来了好多新的手艺,尤其是它的“夹杂说话”斥地体式,是第一个支撑多种说话夹杂斥地的软件运行..,下一代Windows--LongHorn的焦点将会看到.NET的身影。若是读者学过Java,那么您会发现,.NET与Java实在是太象了。尤其是C#,若是给你一段代码,有的时候还真难差别出是用Java照样C#写的。

Java是上世纪九十年月降生的一种面向对象说话,它吸取了C++的很多优点,其最大的特征是“跨..”,因为它很好地知足了收集时代信息系统对高级说话的要求,因而在实践中获得普遍应用。Java经由近十年的成长,今朝已在企业信息系统斥地范畴占有了主流地位,形成了一整套完整的手艺系统,取得了伟大的成功。

..的构架

JAVA..包罗JAVA说话,以及一套虚拟机——如JVM、KVM、CVM等——经由它们实如今PC机,手提电脑或是嵌入式系统上运行JAVA的字节码。同时,JAVA..还界说了一整套笼盖面很广的API,它们被用来与微软的API协调或是互相竞争。如JDBC对ODBC,JTAPI对TAPI,JDO对ADO等等。是以,简要来说,JAVA..包罗说话,虚拟机,以及API库。因为使用虚拟机机制,所以JAVA说话在所有的..上只有独一的版本,是以它使用RMI和谈进行长途通信;微软则在.NET框架中使用DCOM——正在慢慢演变为SOAP。SUN最初对JAVA的宣传是“一次性代码编写,所有情况下运行”,但在推出了“J2EE”和“J2ME”后不得不收回了它最初的宣传,因为“一种尺码的鞋适合所有的脚”的解决方案并不克很好的工作。

.NET框架包罗C++, VB.NET和C#等一系列说话;与JAVA虚拟机雷同的一套运行时情况;以及一套倾向与WINDOWS系统的API接口。个中的运行时情况或者存在于一个浏览器、或是一个WEB SERVER、或是在把持系统中。未来或许在SQL SERVER中也或者存在如许的运行时情况。此外需要说起的是微软的SOAP和谈,它在继续了DCOM的一些特征的根蒂上成长起来,基于XML花样经由HTTP进行传输。

加密法:概论

.NET的加密法首要基于CryptoAPI 和相关扩展。大多数有关加密的类都在System.security.Cryptography, X509Centificates 和XML中。.NET行使基于流的模型来完成加密传输,所有的算法都被默认为最高的平安级别。.NET也许可用户本身在 machine.config 中界说本身的算法。JAVA..的加密算法分二个部门:Java Cryptography Architecture和 Java Cryptography Extension。 JCE的出口受到有关司法的限制。若是要使用用户本身的加密算法,必需获得认证机构的认证。

加密法:算法

.NET为快速斥地框架首要供应了下面几大类加密算法:非对称算法、HASH算法、对称算法、随机数生成法。JAVA供应的加密算法更多,然则较少第三方厂商能够在JAVA中供应本身的算法。

平安设置

两个..的设置都是经由XML或纯文本文件,两个..最大的区别在于处理平安设置系统的体式分歧。在.NET..,有图形接口和号令行二种体式来点窜平安设置参数。Mscorcfg.msc是图形接口体式,Caspol.exe供应了号令行体式,适用于批处理或设置文本。JAVA..只供应了图形接口的对象policytool.exe。和.NET分歧的是,它的方针对象(设置文件)的名字和位置不是固定的。.NET界说了分歧局限的平安设置文件:系统局限,本机局限,本用户局限。在设置有辩说时,原则上小局限的参数有优先权。JAVA和J2EE的焦点设置文件都留存在固定位置,但扩展设置文件随厂家分歧而分歧。

平安通信

SSL已经是事实的传输平安的工业尺度了。JAVA和.NET都支撑最新版本 SSL 3.0。

平安通信:..

.NET只在基于IIS的应用中使用SSL来珍爱HTTP传输,对于非IIS应用,.NET不克珍爱传输中的数据。在JAVA中,JSSE供应了..级的办事,包管基于TCP/IP的通信平安。除了IIS,.NET没有供应任何另外..级的通信珍爱的尺度方案,然则JAVA在这方面供应了全套的解决方案。

平安通信:应用

.NET经由WSA和 WSE包来供应最新的WEB办事平安包管,JAVA今朝还没有供应这方面的支撑。在加密方式上,JAVA和.NET根基没有太大的不同;在通信珍爱方面,JAVA 比.NET供应了更多的选择方案;然则在WEB办事平安性上,JAVA显着比.NET掉队一些。

代码封装:磨练

JAVA 和.NET 的Common Library Runtime都实行内存平安或类型平安的珍爱机制,在这些..斥地的应用的平安性也是能够磨练的。他们的实现机制有很大的分歧。在.NET, CLR老是执行编译好的代码,它不注释代码。然则在中央说话被编译之前,编译器会有验证和磨练的步伐。第一步是搜检文件的构造和代码完整性;第二步包罗一些扩展的搜检,内存平安、客栈跟踪、数据流剖析、类型搜检等。在运行阶段,由VES来负责平安性搜检和失足不测情形处理。在JAVA..,JAVA虚拟机(JVM)负责类的载入、链接、磨练和执行。对于已经编译和优化的代码,JVM也用二个无前提挪用客栈来保留最初的字节代码信息。

代码封装:应用隔离

在.NET, 域隔离竖立在内存平安机制的根蒂上,分歧的域不克直接接见彼此的地址空间,只能经由.NET长途通信机制接见。在JAVA..,应用隔离是经由ClassLoaders 和 ProtectionDomains 相连系来实现的,平安类加载是JVM平安机制的基石。.NET的 AppDomains 就象把持系统的历程一般,使用起来比JAVA的 ProtectionDomains 更直接、轻易一些。

代码封装: 说话特征

两个..根基上差不多,.NET在天真性上稍微好一点。

成长进程

JAVA最初起原于SUN的一套为机顶盒设计的说话,其时的名字是OAK,SUN将之改名,并将它放在INTERNET上作为开放源码共享。跟着专门为网页设计的JAVA APPLET的显现,JAVA说话敏捷在INTERNET上风行起来。其时的浏览器首要是NETSCAPE。当微软发现来日市场的主宰或者是浏览器而不是桌面系统时,起头着手对NETSCAPE进行收购,在收购规划失败后微软成长了本身的浏览器IE。其时的INTERNET需要一种说话,而JAVA适时的显现了,因为它与C++的很多相似的语法,使得好多法式员转向了JAVA。而它的确具有好多优势,以至于在98年秋,它的否决者微软在MSDN中都传播,JAVA是编写COM组件的最佳说话。跟着JAVA一路显现的还有LINUX把持系统和APACHE办事器。这三者的结合在办事器端的应用示意出壮大的威力,以至WINDOWS NT在企业级办事器市场受到了很大的冲击。

瞻望将来

如今,我们能看到到还只是一个很杂沓的局势。而在将来,我们将看到.NET的成熟,以及它和JAVA的融合。JAVA将持续连结它的特点:跨..的办事器端应用,如WAP办事器,或许是电信范畴的如JAIN,同时它在嵌入式系统中将持续连结它的优势,象智能卡、移动德律、PDA等。而我们还将看到.NET的成熟,当然这种成熟需要时间,或者是相当长的一段时间,就好象昔时JAVA成长那样。

非微软产物,包罗办事器,桌面或是便携式设备的把持系统如Solaris, Linux和Palm OS的.NET接口。与JAVA焦点的整合。SQL SERVER 或是ORACLE 等数据库产物中整合的VES 引擎。由中立的第三方斥地的开放源码的,完美的.NET..。能够预见到,微软将会赞助一些开放源码的项目,以使.NET 向UNIX ..扩展,而这将有助于一些开放源码组织削减它们对JAVA的偏爱

相关文章