❶ 为什么.net和java这么像,他们什么关系啊
严格来说是C#与java很象,那是因为你不知道两者之间的关系而已,严格说来,C#与java并没有任何关系,但事实上两者千丝万缕的联系。
有四个年轻人坐要咖啡店里讨论着——然后他们就开发出一个新的语言,java,有人说当时他们喝的咖啡名读音是java, 也有人说那个咖啡店名叫java,但不管怎么说java是一杯咖啡的标志说明了这个传说还有真实性的。
java语言是以C++为蓝本,然后以为了跨平台的特性,采用了虚拟机,内部使用了类库的方式,简化了C++语言,所以两者读言十分相近,相近到不能用相似去描述了,也在是说两者在语未能几乎等同,所不同的就是采用虚拟机的不同,以及类库的机制使用很多调用不同而已,除去这几个方面,基本没有什么不同点了!
在java推出时,java很容易赢到了用户,很多c++上的程序员都转到java上来,他们看到的是两者几乎相同的语法,于是有人称java为C+++,最后一个+号表示是C++的升级版,在有可取代c++之意,当然还有一些比较公正的评价,认为许多系统函数什么的都移植到了类库了,所以就在java语言来说,不考虑虚拟机与类库情况,java就是C++的一个简化版,而类库则是其功能的加强,所以也有程序员称其为C++-,意思是C++的简化版。
这事微软当然不愿意,于是microsoft与sun公司就打了一架,microsoft认为sun是在侵权,但结果是java采用的是虚拟机与类库与C++完全不同的机理,于是microsoft败诉——好象这货给小公司打官司就没有赢过。microsoft在该种情况下拒约与sun合作,将其在浏览器中的applet删除,当时IE所占比例非常大,为了不失去applet的阵地,sun公司起诉了微软——而且这次微软件又败,IE中必须集成sun公司的applet——但微软件却拒绝再给applet任何更新!
丢掉了很多用户之后又输掉了官司——看来国外的官司是论理不论钱的,要不在中国微软肯定不会受这气的。微软件抽调了几十名工程师去研究java机制——最终发现这玩意真不错,于是开始工始开发一门新的语言,据说内定为java+,也就是对java进行升级,sun公司的技术实力肯定不如微软,意图夺回自己的用户。
于是取java之长,C++之精,成就了一门新的语言,就是C#,其实明眼人都看得出来,什么C#啊?不就是C++++么?!也是采用了虚拟机,考虑了跨平台性,也采用了类库!但是这也造就了java与C#的高度相似。
sun以侵权将microsoft的C#放上了法庭,这个倒霉的家伙又一次输掉了官司,但忘记怎么的处理结果,但C#却被正常发布出来了。
从这个小简短的故事中你可以看出为什么两者没有任何关系却又高度相似的原因了吧?
❷ .net与java的区别是什么
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却是可以抗衡的。
❸ java 与.net的优缺点
.net和java
相同点:
1.它们都是面向对象的,语言又比较简单
2.背后都有大公司为它们撑腰
不同点:
java是从C++演变而来...
.net是从java演变而来...
它们的应用领域不同
.net:主要应用在中小型公司网站开发及桌面应用程序开发...
java:主要应用在大中型企业网站开发,银行网站开发及手机嵌入式游戏开发...
在学习方面.net相对较为简单
java 偏难...不容易掌握...
但不目前市场工资而言JAVA的偏高些...
而在找工作方面.net和JAVA都面临着艰难....
不过.net要求稍微低了一些...
还有之所以.net没有很大程度上普及主要是微软
的垄断..它们的软件不是开源的...这样两国一旦交战可能会影响到我们
整个国家...所以很多大企业联合抵制.net
不过在小型企业中.net的确不错...比jps简单...
java还有一次编译处处运行的优点..
还有就是跨平台...开源当然也是它的一个比较大的优点了...
❹ 现在学java好还是.net好
在很多网站上,网友都会问一个相同的问题,到底是学Java还是.net,个有个的见解。
自从.Net问世以来,程序员都很关心的一个问题是“该学Java或.NET”。我也在挣扎,该“该继续Java的研究,或者该开始准备培养.NET的知识”。
最好是能两者兼顾,但是每个人的时间都很有限,想要兼顾两者,其实不太容易。投入在.NET的时间越多,所能花费在Java的时间自然就少了,反之亦然。在信息爆炸的时代,重要的不是信息的取得,而是信息的抉择。信息太多,时间太少,如果不能慎选适合的技术,只会平白浪费许多时间,斫丧自己的竞争力。
一 开发效率方面:
对我们来说选择开发工具的最需要衡量的就是这一因素:
表现层开发:J2EE这方面非常欠缺,把这一任务丢给了应用服务器厂商和编程人员,不象.Net拥有很牛的.Net Studio,不过Jbuilder 6已经出来了,支持EJB2.0 也不算太落后,但一直没有解决方案的就是页面用户控件(当然Turbine的Action Event也算一种),缺乏可视化设计和Servlet应用程序框架生成。我期望的一种方式是具有象.Net Studio一样的可以所见即所得的编辑模板(Template),绑定用户按钮事件处理。目前可以通过javascript库,模板库及宏库略微缓解一下Servlet的开发。ASP .Net和Servlet都支持动态更新表现层。
二 XML支持能力:
.Net一直叫嚣的就是我集成了XML和Web Service,但JDK1.4也搞出了XML规范,这方面已经差不多了,不过.Net的易用性好得很,而且就此一家,程序员不必费心思选组件或产品。
在采用XML和XSLT的开发模式中:微软的SQL Server 2000直接提供了HTTP Query到XML数据的功能,不过我用dbxml也能做得这一点嘛,还适用于多数的主流RDBMS,更牛!这种开发模式应该是未来的方向。
三 理解的两者本质
Java是绑定于一种语言的跨系统的平台,是一个有多家供应商提供竞争性产品的规范。
❺ .net和java的区别及各自的优缺点
平台之争 Java与.NET谁更有前途
2009-2-18 网友评论 1 条 点击进入论坛
为什么会有Java,为什么会有.NET
有人说,Java是为了跨Windows和UNIX而产生的。是这样吗?Sun有自己的操作系统solaris,并且打的是高端市场,而Java发展早期阶段,Windows还主要定位在中小型企业,并没有打算与Sun一争高端客户。
而且Sun的用户大部分都是大型企业级,而Windows定位在家庭消费用户,由于Windows已经成为桌面OS的事实标准,Sun根本无意抢夺 Windows的地盘,而且Sun有自己的操作系统,扩大自己产品销售才是第一。
但是UNIX一直是个混乱的世界,各种UNIX版本在并存,你为这种 UNIX开发的应用,却很难在另一种UNIX上跑通.应用的阻塞影响了UNIX市场需求的扩大,就象没有SQL Server,没有OFFICE,没有Windows 游戏,和Windows上的开发工具,就算你的操作系统做的再漂亮再容易我们也会扔掉Windows.为什么?因为没用,我买回来一个大铁家伙,我什么也做不了.Sun就出于这种考虑,所以才有VM的想法,否则谁傻了,做个又慢又麻烦的VM.所以说Java的产生,只是为了跨UNIX平台.当然能跨 Windows,吃定Windows,那岂不是更好,呵呵呵,Sun为自己的妙招而没事偷着乐.
那为什么会有.NET呢?可是Windows就一个呀,它也要跨平台?而且微软已经把CLI提交给标准委员会,看来是真要跨了?真的吗?
从外表来看,Windows确实是一个.但是从技术角度来看,Windows3,Windows95,Windows2000是截然不同的三种架构.在中国,大家对新技术的追求比较热衷,所以说一个企业中这三种操作系统并存互连的可能性不怎么大.但是老外是精打细算,不见兔子不撒鹰,所以你在国外企业运行很老的系统也不要见怪.微软为了同时维护这几种操作系统也是煞费苦心,而且由于技术是各个时期形成的,有的技术由于历史发展原因有明显的缺陷,也无能为力修改了,而且为了功能更强大,API海洋,DLL黑洞,ACTIVEX,OLE,COM,DCOM,COM+,各种技术交叉,唉,其中苦谁了解?所以跨WINDWOS平台是微软制造.NET的一个原因,这样给你一个抽象的统一的平台后把你摆平后,他再着手修改他的底层,省得一天人们叫着 Windows不安全,Windows不稳定.当然从J2EE的火热场面来看,拉去了很大一批Windows平台上的C++程序员.失去了应用开发的源头,那还有什么发展?如何拉回这批程序员让他们继续为Windows开发当然也是.NET的原因之一,这就是为什么.NET从架构到开发语言都与 Java极其相似的原因,就是吸引你平滑的再回到微软的世界中,如果跨度大了,程序员就有了迟疑.唉,如果没有Java,如今的C#也不会是如今这样,原本它会更好,我想ANDERS一定心中很郁闷,但是商业是不以个人意志为转移的.而且现在已经不是桌面为王的时代了,现在是互连网的时代,Java是第一个有强大开发WEB应用的完整体系,而当时微软的技术还是七拼八凑,只是互连网一下到来微软刚醒过神来仓促应战的结果,当然无法与J2EE媲美.想在互连网时代也分一杯羹,必须也有一个完整的体系,于是.NET就产生了.
我们已经有了Web Service,我们还需要.NET吗?
其实技术发展到如今的应用集成时代,用户的需求就是把现在各种平台上的应用集成起来.集成的方法有很多种,当然跨平台也是一种.不过最省力的还算是WEB SERVICE.因为现在已经是组件应用的天下.各种COM,EJB,CORBA成为快速组装企业应用的主流技术.组件是位于操作系统,数据库,网络之上的技术,站在组件的层面上,下面用什么技术已经无所谓了,因为已经被组件屏蔽了.如果我们能把我们的组件互连起来,不也可以集成吗?应该怎么做?这几项技术都分属于不同公司,想联合真不大容易.这时就要找到每个体系公共的东西,用公共的东西把他们连在一起不就行了.找呀找,终于发现,是TCP/IP.随即几大公司都发现了突破口,需要快速占领先机.由于Sun一直在Java发展的问题上给了IBM很大的阻塞,所以IBM宁愿先和微软联合做,如果微软有什么不轨之心,就放出Sun,让他们互相咬,然后在适当的时机出来装出老大的样子摆平他们,给他们俩制定一个适合自己发展的竞争协议.
我们已经可以互连了,我们干吗要.NET.我们的问题已经解决了,我干吗花钱再投资呢?经济本来已经很不景气了.
但是,微软看来已经决定不在现有基础上增强ASP和COM+了,现在是互连时代,也是组件时代,两大要命的地方我都不升级了,你自己看着办,我可没逼着你买.
.NET和Java在中国哪个更有前途?
这个问题好象已经不用再争了.中国90%的用户是Windows用户,保护现有投资,使用很习惯很易用不用重新学习,我又不用跨平台,我干吗要换Java 呢.过去是微软没有提供很强大的WEB开发解决方案,现在提供了,我干吗要用Java.而且. Net比Java出的迟,肯定会吸收Java的优点,弥补Java的缺点.而且微软的VM肯定和Windows结合的很好,性能不用担心.我干吗用 Java?而且微软显然把宝已经压到了.NET上,你难道还要在.NET的VM上再加一层Java的VM?
.NET有什么新的亮点?
当然是ASP,ADO和COM+,还有清晰的架构,并且由于统一的类库,我们为WEB,GUI,MOBILE而开发的应用会很容易的转来转去,不象过去开发,各需要学习不同的知识.ASP终于结束了网页意大利面条式的程序,面向对象和支持多种语言,使构筑强大复杂的WEB应用提供了比JSP更凶猛的功能,让人不得不爱.ADO.NET也抛弃了过去的数据集一Scroll就连数据库进行提交的糟糕速度,代而取之的是多条修改可以一次性提交上去.这样性能会提高很多.COM+呢?COM+1.5的特性大家在WINXP上也看见了,比1.0强了很多,未来还不用注册, COPY完就能用,多舒服.至于安全嘛,稳定嘛,这话不敢讲.因为盗亦有道,Java也同样如此,无法说谁比谁好.
.NET真的会跨平台吗?
微软的命根子是操作系统,微软此次出.NET也是为了打入高端市场.怎么打入?微软第一已经在用C#收买 Java程序员了,并且做Java和C#的映射工具,先断了Java应用的前途,后面用CLI提交给标准委员会,让别人开发UNIX上的平台,微软不在正面和UNIX阵营冲突,以免犯众怒.当UNIX和Windows的CLI都有了时候,基于CLI的应用可就两个系统都能用了,这会帮助微软销售多少其他产品呀.这不,微软在支持着好几个Open Source社团在开发UNIX的CLI.跨平台的事微软不会轻易干的,否则微软的命根子怎么办?
.NET真的支持多种语言吗?
开发更多的基于.NET的应用,让.NET快速成长起来.第二.NET是一次比较大的革新,广大的各类程序员能否跟的上也是个问题.多语言的支持当然会,但是不会支持的很好,否则微软大力做C#干吗呀,如果别的语言和C#一样好,那微软还混什么混呀.最糟糕了,也要其他语言的技术比C#慢半拍.不过先走也未必领先,就象DELPHI就后来居上,这么大的市场,微软是不可能通吃的.
我们需要转到.NET上吗?
你可以不转.就看你需要不需要INTERNET了.我想在未来,没有企业会说INTERNET对我没有一点作用.
现有应用能否平滑过渡呢?
在这个问题上可以看一下微软的历史.微软在做完WINNT4的时候其实已经在策划现在的WIN2000,但是为什么在WIN95后有WIN98, WINME,WINXP,不是他当时做不了那样的技术,而是必须引导着客户一步步走,要追随客户,走的太快,就会丢失客户.在这个重大的转折点,微软也会如此.而且在现在的Windows.NET上,你运行现在的程序一样没问题,速度依旧,操作方式也依旧,因为他使用了两种手段来区别对待这两种应用程序.
什么时候转?
如果你需要抢占市场先机,现在转正好,因为能支持ASP.NET,ADO.NET开发的VSS.NET已经推出快一年了,就是有能力欠缺的问题,第二版的出来也不会太晚了.不过话在前头,确实在实际的开发中,Vss.NET确实有些做不了的事情,不要看他好象什么都有,这就跟微软当年宣布COM有池化的功能一样,仅有一个外壳.这是微软的策略,跟不跟着走,你自己看.稳健型的公司建议在第二版出来后应用,因为微软的产品一向在第三版才会好用.
作为开发商,跟随.NET的难点是什么?
难点难就在,过去我们的开发方式,拖一些控件,连个数据库,更新或SELECT一些数据.再深一些就是消息,或者是一些不常用的API.记住:.NET是微软进攻高端市场的第一步,现在的微软不是我们过去熟悉的微软,Vss.NET的一推出,就是强烈给人一种这样的感受:从建模到开发到测试到发布,全套企业级的工具都无缝相接,而且处处体现着OO和设计模式,在宣传中也频繁提到,昭示着这个工具是为大型应用开发而定制的.所以宝刀也需有能力的人才能拿的动,否则只能砸了自己的脚.对于现在的Java开发工具也是如此,好象全世界一下都没有了小型企业一样.我们是否具备了优秀的设计师,建模师,OOP的程序员,我们是否有一整套流畅的开发流程来支持全程建模,我们都需要深思.在微软的.NET的各种培训上,培训师也是反复强调分析设计,大型项目管理,自动化工具的支持,你做好准备了吗?
Sun在微软拆分问题上输了吗?
微软的案子打了这么多年,居然庭外和解.Sun确实挺郁闷.不过Sun并没有输.为什么这么说呢?依毛主席的话说就是:敌进我退,敌疲我扰.确实微软在. NET的发展上受了很多牵绊,否则也不会到如今才推出来个框架.在硅谷,时间就是机会,时间就是金钱,谁前进的快谁就能占先机,显然Sun并不是最痛苦的一个.
Java的未来
依Windows的用户量和微软进攻高端企业应用的决只是呆板的图形,不能全方位的表现网络的传输技术,使应用进步更加依赖硬件而不是软件,微软亚洲研究院为什么在做哪些研究,就是因为他们不断在思考未来是什么,所以每一次技术的浪潮他们总在浪头.当然未来还会有所改变,但是他们会及时调整他们的战略,但大方向不会错到哪去!
当技术不再是阻碍应用发展的主要因素,比如宽带的来临,这时候你想过没有,在它上面,该做些什么呢?世界有多大,你能看多远?为什么在每次浪潮到来时你都无法预想到,而感叹这世界变化如此之快?
我对微软的发展的一些看法:
微软把.NET扩展到高端市场和移动设备市场,为.NET开发的程序可以在基于.NET的任何设备上都可以运行,大家不需要为不同的设备用不同的工具开发应用,应用极大的推动了基础软件的扩大,就象OFFICE,SQL Server辅助扩大了Windows的销售一样.
未来的XBOX也会变成.NET平台,成为家庭连网的安全网关和交易网关和信息网关,如果你觉得微软进入游戏业就是为了眼馋游戏这块利润,那你就大错特错了,这个皮毛根本不值得微软大动这么财力.
PDA和手机也和机顶盒一样嵌入.NET,你打开电视,你打电话,你玩游戏,你工作,你上网,你甚至打开冰箱,你都不会知道在背后支撑的是.NET,从高端服务器到你的手机,全部是微软的软件这是一个伟大的设想,如果微软能够兢兢业业的走,凭这样的财力人力和管理和经营战略,走10年,实现的可能性非常大,这不是以个人意志为转移的,你说他倒他就会倒吗?
如果会成功,当然微软会成为人类历史上最伟大的公司,赚取的财富已经不能再提,最关键的问题是:我们全人类的生活和工作被一个私人的商业公司所控制着.
只是到那个恐怖的地步,你是否有勇气和能力把他拆分.因为他足以触及到你的生活和工作,社会的经济,政治活动,甚至军事,任何的动作都足以引起社会的大地震.你认为他有什么理由完不成这些梦想吗?
❻ Java与ASP.NET有什么区别
语言跟数据库是没啥关系的。。。从编程的角度上来说,.net比java简单一些,因为微软的开发工具比java的开发工具做得好一点点,有很多现成的控件可以用;java大部分都要自己写,当然了,java的优势在于开源,网上也有很多现成的东西,只是没有跟开发工具绑定在一起。java一般用在一些大型的应用中,java的性能比.net出色很多,尤其是在应用服务器的性能方面,微软的iis跟weblogic,websphere肯定是没法比的,所以一般大型的应用大多都是用java。另外就是jdbc的性能非常棒,同样的对数据库的访问,jdbc用的时间比.net的数据库访问要快很多。大型的应用很多都是使用oracle,很多时候看到java跟oracle绑在一起,并不奇怪。java是与平台无关的,它可以应用在windows、linux、unix等操作系统上。SqlServer跟.net同属微软的产品,.net是完全绑定在windows的平台上的,而且紧支持windows平台。 从编程的角度上来说,其实语言都是相差不大的,你精通java,转.net会非常快,不过精通.net,转java就要难一点,这是我同事总结出来的一个结论,因为他们java、.net都会。
❼ Java和.net选哪个好
建议选择JAVA,理由如下:
Java跨平台开发能力强。在Java的世界一直有一句话:“一次编写,到处运行”,所以在哪里写代码都没问题,当然,专业程序员都更喜欢Linux和Unix。
相比之下,.NET在面对非微软系统平台的移植,一直都是一大弱项。
Java安全性能强。作为一个最初设计就借鉴了多种主流语言存在问题的语言,Java充分的考虑到了安全性问题,将所有的代码是用暗箱保护,并对内存调用设置了很完备的监测、紧急处理方式。
代码精简,语言健壮。通过调用组件,即可完成绝大部分的软件行动,并且代码错误的时候,可以通过调试完成修正,而不同于C系列的语言,必须编译才能DeBug。
针对你的状况和忧虑,做几点评价:
待遇方面,.NET和JAVA有所差距,但高级程序猿之间差距不大,目前最火的是PHP和IOS开发。
你英语不好,那么无论是学哪种语言,后期都会非常艰涩,因为英语不决定编程能力,它会极大的影响你翻阅谷歌、官方文档的能力。
任何语言都有用处,而且你还年轻,别想一辈子都待在小城市,那样的人不适合做程序员,适合当文员。
数学不好,影响的是数据结构、AI,以及逻辑能力,在基础领域是没有大影响的,你有足够的时间弥补这方面的缺点。
❽ .net和java
JAVA难入门,精通易,
.NET入门容易.精通难
❾ Java能和.net混合使用吗
可以有以下两种方法将java和.net相互调用:1、在B/S结构中,使用Java创建WebService,然后.net可以调用,相反,使用.net创建WebService,java可以调用,这样,两种语言编写的程序可以相互调用,和混合使用类似。2、在C/S结构中,在java的程序代码中如果想使用.net的代码,那么只能将.net的代码编译成动态链接库(.dll),然后java可以调用dll。
❿ .net和java有什么区别
java是跨平台的语言,.net是跨语言的平台,java开源,可以说是全球的开发人员共同维护,更新速度很快,.net是微软的产品,微软绝对不会让它开源。在开发速度上,.net的开发周期要明显短于java,因为微软已经提前做了相当多的工作,很多东西开发人员直接拿来用就可以了,但是java的灵活性更高,适用于很多平台,比如手机平台,java有相当大的市场,而.net就不行。这两个方向都很有前途,在北京的话,两个方向的就业率基本持平,你最好先了解一下你自己喜欢做哪方面的开发,比如你想做手机方面的,那就只能是java了。