JAVA和[1].Net方向哪个好
- 格式:doc
- 大小:290.50 KB
- 文档页数:4
JAVA和.NET前途各异,学哪个更好在目前编程语言繁多的情况,很多编程开发者在选择什么样的语言作为自己谋生的途径而烦恼着。
而当前存在着两大对垒就:微软的.net和sun公司的java。
哪种语言或者开发模式,是以后软件开发市场的未来?哪种方向更能获得更高的报酬且更有利于以后的发展?他们各有什么样的优势和劣势?JAVA于.net基本情况JAVA语言发明已有10年历史,在IBM、SUN等公司的推动下已经比较稳定与成熟,获得了大规模企业的普遍应用。
时至今日,J2EE已经发展成为一个覆盖面广,效率高,易用性强的技术平台,吸引了400万开发者.对于开发人员来说.从技术难度角度, 由JAVA开发转.NET或其它软件的开发较为容易.目前.net在应用中处于一个非常艰难的时期,确实不像Java,首先在J2EE上大获成功,令人睹目,.net目前还没有在某个领域体现出王者之风,罪魁祸首就是绑死在Windows 上,可你要微软改变这一策略,你可以选择等待,就像当年秦香莲等陈世美一样。
现实情况,对.net是坚挺,还是另投名主,那就看各位看官的人生规划了。
.NET则是微软公司目前主推的开发平台,是微软未来操作系统以及长远战略的基础。
对于软件开发人员来讲,.NET的技术相对简单,入门较快。
由于.NET拥有易学易用、开发迅速的特性,随着它的成熟和完善,使其受到越来越多企业的青睐。
北美一些大型企业(如加拿大Royal Bank, Scotia Bank)纷纷将应用平台迁移到.NET,从而走出了Microsoft之平台与技术只适合于中小企业的阴影。
近一年来,.NET在国内也取得了惊人的发展- 众多企业纷纷采用.NET作为企业应用开发技术与平台,使用.NET项目之企业数量快速增长,甚至与JAVA一样被银行业、电信业所采用。
.Net入门快,在.Net中微软为开发人员提供了一套最佳的技术架构搭配,用微软的技术架构开发出的系统就可以保证最好的效果,而不用像Java开发人员那样去学很多开源框架,然后Java开发人员自己再去学习搭建技术架构,因此.Net学习周期比Java短,.Net 学习者学习3个月就可以进入就业,而Java学习者则需要5个月才能进入就业。
Java和NET有什么区别应该如何选择 随着时代的变化,技术在不断发展,编程语⾔的重要性也在发⽣变化。
所以,要我们在两门语⾔中⼆选⼀,通常很困难。
在这篇⽂章⾥,我们要讨论的是Java和.NET之间的“战争”。
.NET和Java是两个最突出的技术平台,你可以⽤它们来构建软件、⽹站和Web应⽤程序。
由于它们在各⾃的领域都负有盛名,企业在构建应⽤程序时通常很难决定哪个更适合它们。
在⽐较这两种技术之前,你⾸先要知道如何使⽤这两种技术中的⼀种来构建应⽤程序。
我们将在这篇⽂章中对它们进⾏⽐较,但我们的主要⽬的是让企业知道哪种选择更适合它们。
Java和.NET之间的主要区别 Java和.NET的⼀个主要区别是,Java(通常是Java企业版)可以运⾏在任何⼀种操作系统上,⽽.NET只能运⾏在不同版本的Windows 上。
即使.NET有开源实现,但仍然是以Windows⽤户为⽬标。
有关.NET的⼀个新发现 此前,微软发布了.NET CORE 3,这是最新的.NET Framework改进版。
这个改进版本的⼀个优点是:.NET CORE现在既是开源的⼜是跨平台的。
另外,.NET CORE还提供了很多对开发、Web、云计算和移动应⽤程序都⾮常有⽤的新特性。
不过,.NET CORE并不⽀持.NET Framework的所有特性。
但不管怎样,选择.NET CORE总是会更好,原因如下: .NET CORE是⼀个开源的软件框架,企业和开发⼈员可以很容易地⽤它来开发应⽤程序。
与.NET Framework不同,.NET CORE是跨平台的,它⽀持三种不同的操作系统——Windows、OSX和Linux。
⽽说到Java,因为借助了Java虚拟机,它基本上可以运⾏在任何设备和操作系统上,成了⼀个可移植的独⽴于平台的编程⼯具。
.NET和Java的不同 还有⼀个区别与集成开发环境(IDE)有关。
IDE就是⼀种软件,为开发⼈员提供了重要的⼯具,帮助他们构建和测试软件应⽤程序。
对于女生来说,java与.NET哪个更适合学习在大家的印象中IT一般都是理科生的天下,尤其是java和.net等编程技术,人们一听就是男生做的活,好像和女孩子没什么关系。
就好像我们形容java程序员一样,一般都是用“他”,而不是用“她”。
不过,近几年,社会的变革让小女生不在沉默,在很多IT 培训机构,也出现了不少女生,以前主要是个别计算机类专业或理工科专业的女生,现在出现越来越多的文科女生了。
看来,编程再也不是男生的专属职业了。
网上有人说,拼技术肯定拼不过男程序员,劝女生做测试、DBA、需求、UI等等。
其实这么说,并不是没有道理。
首先,测试、DBA、需求和UI技术含量并不一定比编程低,只是这些入门门槛低,女孩子比较容易入行,其实做好了也需要下一番功夫。
其实,编程也是如此,主要是入门门槛的问题,许多女生就是因为入门门槛高,一时半会学不会,打击了上进心,觉得自己确实不适合学习编程,继而放弃。
实际上,女孩子只要下定决心,学习程序,也能学会。
然而, java和.net的难度和发展方向都不一样,对于女生来说,该如何判断你是适合java,还是.net呢?从难度上来说,.net难度略小于java,从收入上来说,java的起薪明显高于net,但是后期工资基本持平。
另外,java的应用范围主要是企业级的,各大IT公司都会大量使用java 技术。
就目前而言,java的性价比是比较高的一门编程语言,而且应用的面比较广,就业范围也大,发展方向多。
但是,.net是微软主推的开发平台,现在只是出于最初发展阶段,以后一定会有大动作,而且很多专业人士都站出来说.net是软件开发的未来,是潜力巨大的朝阳产品。
以下是java和.net的就业岗位和起薪标准:JAVA:就业岗位:Java开发工程师、程序员、软件工程师、网站开发工程师、技术支持、测试工程师、数据库工程师……最低起薪:5000元/月.NET:就业岗位:.NET开发工程师、程序员、软件工程师、网站开发工程师、技术支持、测试工程师、数据库工程师……最低起薪:4000元/月(但是上升空间大,转正之后加薪快)(PS:本文档由北大青鸟广安门收集自互联网,仅作分享之用。
最近公司要开发Windows平台上的产品(由于涉及到商业机密,所以目前无法对这个产品做详细介绍),采用.Net技术进行开发,我负责的是基于 Visual Studio插件机制的行业开发工具的开发。
从开始接触.Net到现在已经有近三个月了,而且也开发出了第一个版本,对.Net已经有了一些认识,由于以前主要用Java、Python等语言进行开发,因此有意无意的就对这些语言进行了比较。
和Java比起来,.Net的优势还是很多的,比如快速开发能力、基于Windows 特性进行开发的能力、内置的丰富类库、一些高级语法、组件的多版本管理等。
优点是不用过多夸耀的,缺点我则要好好的“批评”一番的,因为“谦虚使人进步,骄傲使人落后”嘛,呵呵。
开发场景为:使用Visual Studio2005进行C#的开发、使用Eclipse进行Java开发。
1、HotSwap:在Java中HotSwap技术给程序的调试带来非常大的方便,比如可以让程序一边调试一边修改代码,代码修改以后在程序中立即就可以看到修改后的效果,不用每次修改以后都要重新启动程序;在.Net中几乎不允许这样做,只有在非常苛刻的几个情况下才可以实现在调试状态下修改代码,而且一旦代码段被执行过了就肯定不允许再修改了,这就导致每次修改代码都要频繁启动程序,非常繁琐。
2、基于.Net的东西和Windows结合过于紧密,而且和Windows平台下一些旧有技术有太多千丝万缕的联系,导致用起来非常麻烦。
比如每个对外部系统暴露的接口传来传去最后看到的类型是_ComObject,要想得知其真正的接口类型就必须通过COM技术来取得,非常麻烦;开发的很多组件都需要到注册表中注册,增加了部署的难度。
3、Visual Studio中代码的即时查错能力非常弱,很多的要到编译时才能知道代码是否有错;而在Eclipse中在编写代码的时候对于有错误的代码和有警告的代码(比如一些Private成员没有被引用)可以立即清晰的提示出来,开发人员可以立即修改有错误的代码。
现在主流的开发平台有两种,一种是.NET架构,一种是java架构。
.NET平台(粗浅理解)学C++/C#开发桌面应用程序学C++开发嵌入式系统程序,这里主要是指开发Windows mobile的手机软件。
但此类软件近年市场方面较弱。
学asp开发B/S系统归结为以C++为基础。
Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE。
这三块相互补充,应用范围不同。
J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
归结为以JAVA为基础从学Java语言本身来讲,跟C++有很强的重叠性,学习和教学方面都很容易接受。
所以建议语言基础课应当有C++和JAVA两种。
无论是学JAVA还是C++.NET 或C#,甚至,具备C/C++基础是非常有帮助的。
.NET是个整体的开发平台,它不同于以往的VC或VB, .NET下无论你用 或C#,甚至C++.NET写的程序都只是编译成中间代码然后通过.NET Freamwork 平台来运行(类似于JAVA虚拟机).所以用什么语言随你高兴,你甚至可以在一个项目里同时使用以上3种语言.所以,你应该选择的是JAVA或.NET平台,而单纯地拿C++同JAVA相比已没有意义了。
.NET提供了一套完整的开发平台,但遗憾的是收费,有版权问题,优秀的开源系统几乎没有。
Java/Linux平台免费,优秀开源系统很多,但需要学习的东西比.NET的远远要多,入门不太容易。
目前因为版权等问题,很多国内公司开始转向java,转向开源软件系统的二次开发行列,可以有效减少成本,避免侵权,所以国内做java的公司开始不断增多,但从小公司的数量上来看仍未超过使用.NET的。
下面是目前一些主流技术与就业的关系:如果你的学历和能力,只能进入一般的软件公司或集成公司,那么选择微软的技术体系不错。
Java开发技术和.net开发技术哪个好学?
初中的孩子往往只有十五六岁,如果这个阶段不学习而去进厂的话,很多只能干一些体力活。
现在看起来一个月挣两千多也是不错,但是以后怎么办?
互联网+时代的手机、智能电视、家具、机械设备等各种有形产品都将会嵌入智能芯片,都会有嵌入式软件或App与之相连,从而形成智能产品。
日前,谷歌不就发布了一款智能硬件产品:Google Home吗?这是我们开启智能化硬件的开始,在这样的环境下,如果要问学什么就业好?那当然选软件开发啦。
软件的课程讲的是系统型,应用型软件的开发。
课程内容主要数据库技术,客户端页面技术,JAVA开发技术和.NET开发技术。
北大青鸟教材在编制测试后,会进入到正式的授课中,为了能够保证北大青鸟学员所学知识的权威性和实用性,北大青鸟每18个月便会邀请行业专家和著名企业权威人士,加上北大计算机相关学院的资深教授,进行教材的升级和更新。
互联网的时代早早已经来临了,而且因为高校教育的实际操作能力不足,北大青鸟的毕业学员总是优势明显。
详情请咨询点击请查看。
.Net与JAVA的对比一、分指标对比.Net与Java优劣之争由来已久,各方专家也各执一词。
我们挑选了一些主要指标,将.Net与Java对比如下:对比项.NET JAVA 开发及调试工具代码结构性跨平台移植大型网站应用性能缓存技术低开发成本及周期低维护成本低商业化运行平台成本可扩展性如上图所示,微软的.Net技术和Sun公司的JAVA技术代表了未来网站开发技术的发展方向。
两者都提供了优良的性能和特性来构建大型Web应用。
简单的讲,.Net的优势是低开发成本、低开发周期和低维护成本,缺点是跨平台移植不如JAVA来的直接(.Net采用MONO,可以在Unix、Linux、AIX等系统上运行)。
JSP的优势是支持跨平台移植,缺点是开发成本、开发周期及维护成本比较高。
二、市场占有率分析在开发语言市场占有率上,Java排行重去年的第二降到了今年第三,市场占有份额在下降。
三、Java和.NET 优劣势对比1 .JavaJava创于1995年,是世界上最有名的技术之一,常在各类排行榜拔得头筹,这可能也是开发人员坚持使用它的主要原因。
◼Java的优势Java是一项免费的技术,在Java里创建软件的Oracle JDK(Java开发工具)和Oracle OpenJDK也是如此。
这也使得Java能够与Kotlin、Groovy、Scale等编程语言合作。
1) 跨平台、相容性高就能够同时在Windows、MacOS、Linux 等平台上执行,但是.NET Core也已经实现了跨平台部署。
使用Java 编写的程式,只要做较少的修改就可以在不同平台上执行了,Java 绝对是跨平台的一门程式语言。
2)可以做各式各样的应用Java 的应用范围,相对比较广泛,没有侷限在特定领域。
不论是网站、应用程式、GUI、伺服器,都可以透过Java 撰写而成。
◼Java的劣势1)执行速度缓慢Java 因为功能强大,在一些记忆体处理、资源清理的部分并没有做的比C、C++ 来的好,所以相较之下速度比较缓慢。
.Net和Java学哪个比较好因为.Net和Java是国内市场占有率最高的两门技术,对于准备学习编程语言的初学者来说,.Net和Java是初学者首先考虑的两门技术,因此,很多人一遍遍的问“学.Net还是学Java”,社区中也每天都有“.Net控”在唱衰Java,也有“Java控”在唱衰.Net,一时间硝烟四起,让初学者更加迷惑。
做为一个.Net、Java、PHP等语言都进行过有一定复杂度的项目开发的人来说,我对任何一门语言都没有宗教式狂热崇拜,因此我也相对理性的对整个问题进行分析。
从北京、广州、上海等地区2013年的就业统计数据(由于没有找到更权威的数据,这些数据是我对主流招聘网站和技术网站的相关数据进行的并不是太严谨的分析)来看,.Net和Java的职位数量比例为2:3,从就业网站和主要技术社区数据来看,2013年.Net和Java的学习人员数量比例为1:3。
从数据上看,.Net的职位绝对数量比Java低一些,不过Java学习人员数量比.Net学习人员高出3倍,因此.Net职位的竞争激烈程度低于Java。
由于.Net秉承了微软技术的入门简单的特点,经过短时间的学习就可以掌握拖拉控件的快速开发方式,很多人被.Net的快速开发方式所满足,认为自己“学成了”,不再深入研究,因此人才市场上充斥着很多只会拖控件、而不懂.Net 更深入一步技术的.Net开发人员,比如很多的书上都是讲服务端控件,很多所谓“精通”的人连什么是Http、HTML、JavaScript、Dom等基本概念都稀里糊涂,实际公司项目中很多功能点的实现不是简单的拖一个服务端控件就能搞定的,因此看似学习.Net的人非常多,但是真正满足企业要求的人则比较少;而Java则入门门槛比较高,如果想要配置一个Hello World级别的学习环境就会涉及到很多技术,开发环境也要学习者自行配置,对于初学者来说可能花费一周时间都无法配置一个最简单的环境出来,而且Java的开发环境也不像.Net开发环境那么可用性强,建议初学者报培训班先入门。
:Java与.NET的特点对⽐⼀、前⾔为什么要写Java跟.NET对⽐?.NET出⽣之后就带着Java的影⼦。
从模仿到创新,.NET平台也越来越成熟。
他们不同的⽀持者也经常因为孰弱孰强的问题争论不休。
但是本⽂并不是为了⼀分⾼下。
⽽是针对Java平台跟.NET平台做⼀些对⽐。
主要围绕项⽬构建、Web框架、项⽬部署展开讨论。
相信经过这些讨论可以让Java/.NET⼯程师对Java平台、.NET平台有更好的了解。
⼆、项⽬构建项⽬构建⼯具⼯欲善其事必先利其器。
开发环境配置+⼯具使⽤当然要先讲了。
1、表⾯上的⼯具平台⼯具的解释.NET Visual Studio微软官⽅IDE,它具备了开发.NET应⽤程序的⼏乎所有⼯具Java Idea/Eclipse IDE,负责管理项⽬以及代码的运⾏调试等,依赖于JDKJava Maven负责管理项⽬模板、打包(jar包等),依赖于JDKJava JDK JRE(Java项⽬运⾏环境),Java⼯具(编译器等).NET⼯程师要开展⼯作,安装Visual Studio(后⾯简称:VS)就可以进⾏开发了。
但是Java开发,只安装IDE是不⾏的,就算某些IDE会⾃动安装JDK,甚⾄是Maven,但是这些还是需要⾃⼰配置,不然还可能会踩坑。
从开发环境的配置来说,.NET⼯程师操作上确实简单⼀些,⼀直下⼀步,等待安装完成即可。
Java⼯程师就先要了解下⼯具,以及各个⼯具的职责。
然后逐⼀配置。
从这个点上来说,Java的⼊门曲线会稍陡⼀些,但是Java⼯程师也会⽐.NET⼯程师更早关注到项⽬构建的重要环节。
2、实际上的⼯具职责.NET平台Java平台的解释项⽬管理VS IDEA/只有微软官⽅IDE,Java没有官⽅的IDE,没有VS好⽤,但是有多个选择项⽬模板VS+MSBuild IDE+Maven.NET项⽬的模板是VS⾃带的,是直接符合MSBuild(编译器)标准的,项⽬由sln+csproj⽂件组织,Java平台编译器的标准是公开的,⽬前主流项⽬都是基于Maven模板来创建,项⽬由pom.xml⽂件组织。
.net和java的区别不付出就想回报:.net和java相同点:1.它们都是面向对象的,语言又比较简单2.背后都有大公司为它们撑腰不同点:java是从C++演变而来....net是从java演变而来...它们的应用领域不同.net:主要应用在中小型公司网站开发及桌面应用程序开发...java:主要应用在大中型企业网站开发,银行网站开发及手机嵌入式游戏开发... 在学习方面.net相对较为简单java 偏难...不容易掌握...但不目前市场工资而言JAVA的偏高些...而在找工作方面.net和JAVA都面临着艰难....不过.net要求稍微低了一些...还有之所以.net没有很大程度上普及主要是微软的垄断..它们的软件不是开源的...这样两国一旦交战可能会影响到我们整个国家...所以很多大企业联合抵制.net不过在小型企业中.net的确不错...比jps简单...java还有一次编译处处运行的优点..还有就是跨平台...开源当然也是它的一个比较大的优点了....net 的前景从我所接触的软件客户来看,许多人知道软件行业了,许多人知道微软,许多人知道IT挣钱。
很少有人去关心真正的IT技术,.net主要开发的是B/S程序,多少用户需要呢,真正的传统企业很少会有人提出来要什么模式的软件B/S,C/S ....他们的要求很明确很简单,也很难于应付。
你只要.........就行了。
如果提出要B/S。
或者要求语言用java或.net的大多不是真正的用户,而是给自己修漂亮坟墓的领导者。
软件本不在于用什么语言,用什么技术,之所以应用软件是因为我们希望能给我们的工作带来便利。
给我们创造更多的效益,产生更大的利润,节约更多的时间,简化劳动强度。
我之所以学.net全为其新奇开始,同时不使自己落伍。
而立之年不至于丢了饭碗而以。
初衷很简单,也很沉重其实每一个程序员,尤其和我一样一直处于底层的程序员。
我们除了考虑技术,我们也要考虑我们的将来。
Java和.Net,从应用领域到发展前景的对比与分析,请大家踊跃发言java的强项是平台曾经有句话说除了微软的网站其他的地层都是java 毕竟网络系统还是linux unix比较多.net到了2.0更具备java竞争的实例了而且MS已经稍微开始尝试免费了总得来说还是要看这两者本身的自身提高的能力谁更能满足市场的需要经常看你的发言,看来你是个高手,还有几个问题请叫你一下,我总是不明白平台的具体含义是什么.net是个平台,那C#是运行在这个平台上的语言,你说对吗那c#和java有什么区别啊,我感觉很象其实平台是相对于普通的应用程序而言的举个例子来说一个网上购物系统就是一个平台MS退出.net其实就是为了抢夺企业级的平台方面的开发.net我不是很熟悉 c#只使用过一点点其实.net的很多东西都是借鉴了java的比如说c#编译完的东西在就可以使用有点类似于java编译后的class文件java分为3个版本 j2se j2ee j2me现在名字变了意思没变对于应用程序使用的是j2se 这个时候java才更像一门语言j2ee是专门做平台开发的最大的特点是写出来的东西都不是可执行程序要部署在应用服务器里做服务器端的程序 j2me是移动设备的程序开发java最大的特点是,跨平台.与平台无关.即一次编译,N处运行.速度比MS的语言要慢一点,但安全性和健壮性都好很多.JAVA语言相比MS的语言来说,如C++或C#等要简单一些.也更实用一些.JAVA分为三大技术领域:J2SE J2EE J2MEJ2SE主要用于应用程序开发J2EE主要用于企业级WEB应用程序开发,比如现在很多银行都用的J2EE做的B TO C电子商务平台J2ME主要用于手持设备程序开发,如手机,PDA上的程序或JAVA手机游戏本人对JAVA更喜爱,也在努力JAVA向J2EE学习,J2EE包括java servlet,jsp,javabean,ejb,jta,jmail,jndi,jdbc,rmi等是一个集合而还有很多J2EE的框架也是热火朝天:struts hibernate spring 等应用服务器:tomcat weblogic jboss webshare等不论.NET还是Java,都是中间件技术的应用,不过它们各自面向的目的是不同的,Java是提供一种语言兼容多种平台,而.NET提供一种平台兼容多种语言。
为什么国内的互联网公司都使用的是JAVA呢而少用.NET?这个问题比较大,但重要的一点是市场的选择。
.net开发入门是比较简单的,但技术要深入还就不简单了。
从技术上来说,.net与Java没有高下或贵贱之分。
那为什么市场上这么多选择了Java,而不选择.net作为开发或使用工具呢?从简单的几点来看看。
1、重要的原因是商业选择。
首先是费用,微软的费用从不手软。
.net开发后软件的应用成本一般比Java开发后软件的应用成本要高。
不管是硬件成本或软件成本,作为开发公司来说省掉这些费用,更容易吸引客户。
为客户省掉这些费用客户当然高兴。
2、开发实践或方案多样化及规范化。
总得来说,开发成本也谈不上有好大的差异,但还是有的。
.net技术其实还是先进的,但开发上面的标准解决方案规范比Java欠缺,比如针对不同类型网站的构建模式,.net就比Java欠缺。
Java有解决这些问题的全套框架模式。
微软也有,但快速复制就差了。
3、跨平台。
这一点估计大家都有体验。
4、快速化反应、技术获得。
一个最重要的就是Java开源,有全世界各地的技术人员为Java做各种各样的事情,构建了一个生态环境。
需要什么,就可以找到什么,暂且不论拷贝复制带来的各种问题,但起码可以很快找到一种解决问题的途径和方法。
5、编码变得更简单。
这倒不是说Java比.net有什么优劣,主要是全世界的JAVAer都可以在上面添加东西,各种框架,各种类,各种封装等等,然后开发者就直接拿来用就可以了,结果就是只要经过培训机构快速培训就可以上手当程序员了,而不是要经过几年学习或教育的大学生才能胜任。
当然,这样也会造成软件Bug众生,但这给开发公司带来了直接的经济效益,为什么不选择这种模式呢?.net也可有这种模式,但还不够。
构建一个生态是要花很长时间的,在开源还没有构建完成时,.net还是占据了一段时间的领导地位的。
现在市场上有更多的选择,而且有更实惠的选择时,如何抓住用户才是开发公司考虑的事情,而最直接的就是给用户降低费用。
.Net与Java版本各方面特性比较JAVA技术和.NET技术的对比(一)相同点:1.两者的应用有着相似的架构、相应的主要技术;2.适用:企业级开发平台,并且广泛应用于web开发领域,两者均可以满足大多数应用的需求;3.Windows .NET 框架和Java 都使用了一种托管的运行时环境,都将源代码转换为一种中间语言,然后将其编译为本地的可执行代码。
两种平台的开发语言环境都提供垃圾收集、动态类加载和异常;4.后台数据库领域中,.NET 和基于J2EE 的应用程序都可以访问Microsoft SQL Server、IBM DB2、Oracle、Informix、Sybase 和其他数据库上存储的数据;(二)优劣:更加方便的利用操作系统集成的服务;2.J2EE架构的行业应用广泛、案例经验丰富,更加趋于成熟;当然,.NET随着近几年的推广应用也日趋完善、成熟;系统比J2EE系统的部署更加简单、方便;4.J2EE对XML 和Web 服务的支持比.NET略差。
稳定性.NET:强Java:强没有明显的证据表明哪一种应用系统更加稳定。
在Windows操作系统上,.Net应用由于提供了原生态支持,理论上反而更加稳定。
标准一致性.NET:一致Java:不完全一致.Net被微软独家支持,有更好的一致性和兼容性;J2EE被不同的厂家支持,没有两个厂家的标准是一致的。
易用性.NET:好Java:相对差Microsoft应用良好的应用体验和成为业界标准的操作模式具有最佳的易用性。
可管理性.NET:好Java:差微软公司提供了从设计开发、测试部署、运行维护一揽子的产品解决方案;可管理性好。
Java则缺少这样一致性的官方产品线。
开发效率.NET:高Java:相对低Visual Studio专门针对.Net量身定制,具有大量的组件和开发框架,开发模式统一。
Java则被多家公司支持,开发模式不一致,开发代码量大。
Visual Studio作为最佳开发工具赢得了一系列的大奖。
.NET 与 JAVA 对比分析导言.NET与JAVA,国内开发者最多的两大阵营,各自均拥有庞大的忠实支持者。
毫无疑问,从普及率和应用效果上看,两者都是非常优秀的开发平台。
两者都有其自己独特的优劣势,但最后不论喜欢哪种技术,目的都只有一个:为客户提供最合适的解决方案。
下面,我试图从许多不同的角度,简单地比较.NET和JAVA。
一、技术方面:纵观.NET与Java的技术体系,会发现二者有颇多相似,也有很多差异,最本质的差异应该是软件开发思想上的差异,它们二者分别代表的是商业软件体系与开源软件体系。
通常新的技术会比旧技术更好,因为新技术可以从旧技术学到优点,且新技术可以摒除旧技术的缺点。
.NET比Java诞生的时间晚了六年,许多方面都比Java先进,当然是无庸置疑。
并不是说Java这六年停滞不前,事实上,Java一直在进步中,只是有许多缝缝补补、修修改改的地方。
例如,XML是在这六年之间出现的技术,所以.NET对于XML的整合可以说是天衣无缝,但Java是后来才把XML整合进来,且整合的程度比不上.NET。
.NET的易用性很好,而且就此一家。
——而在多数据集成、异构数据集成整合等方面,XML技术表现十分优异。
业内所公认的.NET是跨语言,而JAVA是跨平台。
尽管Java率先实现了“一次编码、到处运行”的目标,但在借鉴、消化和市场化方面,微软后来居上,凭借Windows的广泛使用,.NET Framework似乎走得更远。
实际上,概括起来,.NET Framework有两大主要特征:跨平台、跨语言。
1.跨平台在每台计算机上安装.NET Framework后,一次编写的.NET应用程序就可以跨操作系统平台和硬件环境执行。
.NET中实现这一功能的原理和Java差不多,.NET Framework的作用就好比是Java的虚拟机。
.NET应用程序跨平台的原理可以用下图来解释。
图中虚线部分为.NET Framework的内容。
在很多网站上,网友都会问一个相同的问题,到底是学Java还是.net,个人有个人的见解。
自从.Net问世以来,程序员都很关心的一个问题是「该学Java或.NET」。
我也在挣扎,该「该继续Java的研究,或者该开始准备培养.NET的知识」。
最好是能两者兼顾,但是每个人的时间都很有限,想要兼顾两者,其实不太容易。
投入在.NET 的时间越多,所能花费在Java的时间自然就少了,反之亦然。
在信息爆炸的时代,重要的不是信息的取得,而是信息的抉择。
信息太多,时间太少,如果不能慎选适合的技术,只会平白浪费许多时间,斫丧自己的竞争力。
一开发效率方面:对我们来说选择开发工具的最需要衡量的就是这一因素:表现层开发:J2EE这方面非常欠缺,把这一任务丢给了应用服务器厂商和编程人员,不象.Net拥有很牛的.Net Studio,不过Jbuilder6已经出来了,支持EJB2.0也不算太落后,但一直没有解决方案的就是页面用户控件(当然Turbine的Action Event也算一种),缺乏可视化设计和Servlet应用程序框架生成。
我期望的一种方式是具有象.Net Studio一样的可以所见即所得的编辑模板(Template),绑定用户按钮事件处理。
目前可以通过javascript库,模板库及宏库略微缓解一下Servlet的开发。
和Servlet都支持动态更新表现层。
二XML支持能力:.Net一直叫嚣的就是我集成了XML和Web Service,但JDK1.4也搞出了XML规范,这方面已经差不多了,不过.Net的易用性好得很,而且就此一家,程序员不必费心思选组件或产品。
在采用XML和XSLT的开发模式中:微软的SQL Server2000直接提供了HTTP Query 到XML数据的功能,不过我用dbxml也能做得这一点嘛,还适用于大多数的主流RDBMS,更牛!这种开发模式应该是未来的方向。
三理解的两者本质Java是绑定于一种语言的跨系统的平台,是一个有多家供应商提供竞争性产品的规范。
学习java和.net哪个前景更好?
在IT领域,java和.net都有一定数量的忠实粉丝,二者还都是面向对象的编程。
从目前的现状来看,不管是就业前景还是待遇方面,java都比.net好很多。
这也是近几年学习java的人数远远超过.net的主要原因。
Java被广泛应用在全球各个领域,每年IT行业对java的需求也在持续递增。
.net由于采用的是快速开发,可以有效地降低开发成本,缩短软件开发周期,更多地被那些对成本把握严的小公司使用,这些公司对软件开发人员的需求相对较小,能提供的福利待遇与大公司比起来,也存在一定的差距。
从个人发展来看,由于java一直都在不断地更新和完善,那些学习java的程序员就被迫不停得学习和充电,争取跟上互联网发展的步伐。
虽然看似java很是折腾,但对开发人员的个人发展是有利的。
相比较.net的开发模式,可能导致很多人在从业若干年后依然处于原地,没有多少突破。
待遇上,对于刚入行的新手,java程序员的薪资起点要比.net高出20%,随着工作年限的增长和个人经验的积累,二者的薪资水平差距也在逐年拉大。
从事java开发,当做到高级开发工程师,月入2W-3W是平均水平,而.net开发一旦收入过10K,想要再有所突破,会有一定的难度。
移动互联网的发展也为学习java又补充了一个就业方向,android开发作为目前最火热的技术,也是以java编程语言为基础的。
可以这样说,想学安卓开发,必须要有java
基础,对于java开发人员,转行做安卓开发,也是很容易的。
所以,无论从待遇还是从就业情况上来看,.net都不如java。
用友致远——技术文档J2EE与.NET在Web Services上的对抗本文就Web Services领域的两个主要的应用框架:J2EE和.NET进行针对性的比较。
主要从对Web Services技术的支持、第三方厂商的支持、对Web Services规范的控制程度,以及它们的市场等方面展开讨论。
J2EE和.NET是正面竞争的两个强大的平台,然而在Web Services 的技术支持下,同时它们也是能够互相融合和集成的应用部署环境,在文章的最后部分,通过一个应用实例简析了整合的方式。
J2EE与.NET概述技术提供商能够在应用框架的顶部构建应用程序的开发工具和应用服务器。
应用框架的目标是提供一个统一的软件框架,以减少对企业软件产品的支持、维护和集成的代价。
◆ .NET平台,包括构建.NET服务和.NET设备软件的工具和基础框架;◆ .NET产品和服务,包括基于Microsoft .NET的企业服务器,如BizTalk Server 2002 和SQL Server 2000, 它们对.NET框架提供支持;◆第三方软件开发商提供的.NET服务,构建在.NET平台上的第三方服务。
J2EE(Java企业版)是一组规范集,每一个规范规定了Java技术应当如何提供一种类型的功能。
J2EE平台为基于多层分布式应用模型上的Java应用设计、开发、装配和部署提供了一个完整框架。
J2EE规范为开发应用和企业系统集成定义了数目众多的应用编程接口(API)和多种应用编程模型。
最新的J2EE规范包括EJB 2.0、J2EE Connector Architecture1.0、JDBC 2.0、JSP 1.2、Servlet 2.3、JTA 1.0.1、JMS 1.0.2、JNDI 1.2、Java RMI 1.0、RMI/IIOP 1.0、JAAS 1.0、JavaMail 1.1、JAXP 1.1等。
比较J2EE 与 .NET用友致远——技术文档作为彼此竞争的应用平台,J2EE和.NET开发平台在目标和体系结构上极其相似,但在实现上又完全不同。
.net跟java的区别
NET:
微软出品, 只能用在windows的电脑上,而且该操作系统需要安装.NET框架, 在windows2000之后的系统, 都自带框架. windowsXP 的SP3补丁里也有带框架。
.NET是微软的王牌,不能跨平台,运行时,速度和Java基本不相上下,但是.NET的开发速度很快,但是安全性总是.NET开发者的瓶颈,在有就是在.NET中的线程很难控制.
JAVA:
要jdk框架, 跨平台, 但是跨平台一部分与系统底层的交互需要重新写过. 总体问题不大.意味着"一次编写,到处运行".编写完了可以再linux和ux也可以一字不改的放在windows运行,.net只能在windows运行,但是windows广泛,所以也占有率高。
小编评论:
从短期内而言Java仍然是企业级开发的强手货,.NET因为安全性可后期的可维护性差所以不被大企业广泛应用,但是如果是开发非B2B 那样需要高安全性的项目,还是.NET比较合适,毕竟中小企业承受不了那样开发缓慢和费用高昂的Java软件。
其实:java和.net都有各自的好处,不论是哪种编程语言或者技术,都没有好坏区别,学精一门,总没有错。
而且Java与.net都是面向对象的语言!所以学会一门!可以非常的容易的可以学会另外一门!。
java与.net哪个好?自从.NET问世以来,程序员都很关心的一个问题,是该学Java或.NET。
我也在挣扎,该继续Java的研究,或者该开始准备培养.NET的知识。
当然,最好是能两者兼顾,但是每个人的时间都很有限,想要兼顾两者,其实不太容易。
投入在.NET的时间越多,所能花费在Java的时间自然就少了,反之亦然。
在信息爆炸的时代,重要的不是信息的取得,而是信息的抉择。
信息太多,时间太少,如果不能慎选适合的技术,只会平白浪费许多时间,斫丧自己的竞争力。
由于我喜新厌旧的个性使然,过去这两年半,我着实花了不少时间在.NET上,对于.NET的认识越来越深,也修正了对于.NET原先的一些误解,渐渐的认同.NET 的许多技术理念。
姑且不论我们对于微软是褒是贬,单纯就技术本身来看,.NET 的确是很卓越的。
我并不是唯一一个这样想的人。
以「Thinking in Java」等技术书籍广受欢迎的Bruce Eckel也是如此。
他原本认为C#和.NET只是Java的模仿者,并无新意,但是在深入了解之后,才发现C#和.NET其实是改良版的Java,不管在各方面,都有比Java更突出之处。
当我看到Bruce Eckel说出这样的话,我感觉他说出了我的心声。
下面,我试图从许多不同的角度,简单地比较Java和.NET。
从技术的观点通常新的技术会比旧技术更好,因为新技术可以从旧技术学到优点,且新技术可以摒除旧技术的缺点。
NET比Java诞生的时间晚了六年,许多方面都比Java先进,当然是无庸置疑。
我的意思并不是Java这六年停滞不前,事实上,Java一直在进步中,只是有许多缝缝补补、修修改改的地方。
例如,XML是在这六年之间出现的技术,所以.NET 对于XML的整合可以说是天衣无缝,但Java是后来才把XML整合进来,且整合的程度比不上.NET。
从历史的观点以史为镜,可以知兴替。
如果你了解近二十年的软件产业发展史,你会发现微软挫败的机会很小,即使是在头几场战役失败,也会在整场战争中获胜。
浅谈JA V A与.NET该如何选择[摘要] 自从.NET问世以来,程序员都很关心的一个问题是:该学Java 或.NET?在这几年的教学中,学生或多或少的都问到这个问题。
本文旨在探讨两者的优缺点,做出对比,也期望对大家的选择有一定的帮助。
[关键词] JA V A .NET 软件开发引言提到.NET和J2EE,一般都会想到它们之间兵戎相见,水火不容的关系,毕竟两者都在努力地去虏获程序员的青睐,占领更多的市场份额。
JA V A语言在IBM、SUN等公司的推动下已经比较稳定与成熟,获得了大规模企业的普遍应用。
J2EE已经发展成为一个覆盖面广,效率高,易用性强的技术平台,吸引了400万开发者,对于开发人员来说.从技术难度角度,由JA V A开发转.NET或其它软件的开发较为容易。
.NET则是微软公司目前主推的开发平台,是微软未来操作系统以及长远战略的基础。
对于软件开发人员来讲,.NET的技术相对简单,入门较快,随着它的成熟和完善,受到越来越多企业的青睐。
本文从一个程序员的角度去看待两者在互相竞争的过程当中到底相互借鉴了什么,同时探讨一下两个领域知识的必要性。
一、JA V A 和.NET在安全功能的比较1、安全配置和代码封装安全配置两个平台的配置都是通过XML或纯文本文件,区别在于处理安全配置体系的方式不同。
在.NET平台,有图形接口和命令行二种方式来修改安全配置参数。
JA V A平台只提供了图形接口的工具。
和.NET不同的是,它的目标对象(配置文件)的名字和位置不是固定的。
.NET定义了不同范围的安全配置文件:系统范围,本机范围,本用户范围。
在配置有冲突时,原则上小范围的参数有优先权。
JA V A和J2EE的核心配置文件都保存在固定位置,但扩展配置文件随厂家不同而不同。
代码封装:检验JA V A 和.NET 的Common Library Runtime (CLR) 都实行内存安全或类型安全的保护机制,在这些平台开发的应用的安全性也是可以检验的。
Java与.Net哪个好?
自从.NET问世以来,程序员都很关心的一个问题,是该学Java或.NET。
我也在挣扎,该继续Java的研究,或者该开始准备培养.NET的知识。
当然,最好是能两者兼顾,但是每个人的时间都很有限,想要兼顾两者,其实不太容易。
投入在.NET的时间越多,所能花费在Java的时间自然就少了,反之亦然。
在信息爆炸的时代,重要的不是信息的取得,而是信息的抉择。
信息太多,时间太少,如果不能慎选适合的技术,只会平白浪费许多时间,斫丧自己的竞争力。
-----JAVA------
JAVA语言发明已有10年历史,在IBM、SUN等公司的推动下已经比较稳定与成熟,获得了大规模企业的普遍应用。
不管你对Java是怎样一个态度,有一点不可否认,Java是现在全球最时髦的开发工具之一,
它拥有一套庞大且完善的类库,内置了其他语言需要*库甚至是操作系统才能支持的功能,拥有一个虚拟机,总之,
Java的出现,确实给整个程序界带来了巨大的冲击,也许现在还无法准确评估Java为整个IT 业带来的影响,但是有一点却毋庸置疑---Java将不可避免地影响一代程序员.
作为一名将要成为职业程序员的学习者,也许应该认真评估一下Java在可以预见的一段时间里带给自己的影响. 在美国,起来越多的应用是基于Java开发的.Java在企业的应用中的日臻完美,打消了许多人对Java无法应用于大型企业级应用的顾虑.而在国内,Java也已如火如荼.据调查,在未来几年内,将会出现20万个Java程序员职位需求,也许这将超过其它任何一种程序员的需求.
再说个通俗点的,你看中国目前的决大多数(90%以上)银行网站,看看它们是用什么写的,是java!!!
----
.NET则是微软公司目前主推的开发平台,是微软未来操作系统以及长远战略的基础。
对于软件开发人员来讲,.NET的技术相对简单,入门较快。
由于.NET拥有易学易用、开发迅速的特性,随着它的成熟和完善,使其受到越来越多企业的青睐。
近一年来,.NET在国内也取得了惊人的发展-众多企业纷纷采用.NET作为企业应用开发技术与平台,使用.NET项目之企业数量快速增长,甚至与JAVA一样被银行业、电信业所采用。
在这种情况下, .NET的强劲发展还未到来,现今仍然处于发展初期。
----优缺点----
专业知识上的优缺点我就不多说,它们之间的好坏与否,时间和业界已经告诉了我们!
说点现实的就是学习成本和将来就业工资
如果想快速入门,建议学。
NET
但那个有点傻瓜式了……很容易
所以,想稍微学深入一点,还是学JAVA吧,学了JAVA 之后,.NET用心学习几天也就OK 了
工资方面JAVA普遍的要比.NET高(一般情况下),很简单的道理,容易掌握的技术当然就不值钱了。
如果想干这行,建议你三思而后行,多了解一下,毕竟是关乎到你将来饭碗问题。
个人箴言:
如果精通,不论往哪个方面发展都会很好,浮躁的人都会问这个问题
.net入门低,易上手,市场需求量大,开发速度快,虽然强大,但是某些用法不灵活,用过JAVA后,会觉的java很美,再回头看.net我会有种抵触心理
Java是开源的,有利于你阅读他的源码,可以了解学习别人的思想,编程本来就是一种思想
打工不是一辈子要做的事情,语言本来就是一种工具,能把他转换成商业价值就是你的最终目的吧,我建议学习下java,以后有机会还是要自己创业
目标可以经常换,但是不能没有目标
说实在话,不太喜欢.net,但并不抵制,毕竟也经常用。
.net的类库太过丰富,不利于程序员的技术提升。
但是确实有利于企业提高开发效率,因为现成东西一大堆。
java就不一样了,虽然类库也算丰富,但是考虑到跨平台的特性,sun没有办法把类库搞的像MS那样,只是提供基本的类库。
(类库丰富不见得就是坏事,提高开发效率就不说了,另外,使用官方提供的一些东西往往要比自己写的在执行效率和性能上要好很多。
)
java的弱点在于桌面应用,特别是部署在MS体系下的桌面应用。
做过开发的可能都知道,用swing做桌面程序简直是噩梦。
虽然这种情况随着技术的改进可能会得到改观,但是我相信在未来的几年中,.net仍然是桌面应用的主力军。
java的优势在于网络应用和跨平台应用上。
即在大型商务,门户,企业网站中,在有限资源设备和移动设备应用软件领域,java仍然是不可替代的,虽然.net一直在此方面追赶java的步伐,但是由于MS体系中的一些弊端,我认为中短期内.net无法赶超java。
假如你对java和.net都有深入学习的话,你会发现两种语言让你产生的兴奋点是截然的不同。