更新时间:2019-08-08 17:29:11 来源:极悦 浏览2312次
随着互联网经济的快速发展,IT行业存在着巨大的人才缺口,同时毕业大学生也在面临着就业难的考验。于是越来越多的同学会在Java编程语言和.NET中选择!那么到底学哪个呢?哪个更好找工作?他们的优势和劣势又如何?
java编程语言的优劣势
1、Java语言是简单的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。
2、Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。
3、Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java.net)。
4、Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。
5、Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。
6、Java语言是体系结构中立的。
7、Java语言是可移植的。
8、Java语言是解释型的。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。
9、Java是高性能的。
10、Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。
11、Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。
.NET的优劣势
.NET的优势:企业信息系统部门可自行编程。
.NET的劣势:应用成果少、开放性差。据悉,日本Kabu.com证券将在2003年度内利用.NET Framework全面重新构筑该公司目前利用ASP构筑的系统。在“开放性”方面又将会如何呢?Java普及的主要因素很多,但小编认为其中最关键的在于“开放性”。而.NET Framework只要想应用于业务系统中,其OS实际上则只能限于Windows。
Java与.NET就业前景哪个好?
桌面的C/S结构的应该都是用.NET来做的, 而B/S结构的网站的话是用JAVA开发是最安全的,而.NET开发的速度很快,实际对于.NET和Java来说没有谁强的一说,JAVA的优势就在于跨平台,比如说手机上程序开发,而.NET他只专注于WINDOWS的平台。
另外Java编程语言很多东西是开源的,所以说很多框架什么的都是人家写好的,这个框架可能最近流行,但过几年另外的谁开发了一个更好的框架,我们就要重新学习了,但学习.NET就不用那么费劲,只要专注于微软就可以了 他更新什么我们就学习什么就可以了,还有就是由于.NET开发的方便和快捷,导致许人多只知道拖拽窗口,根本不了解真正的含义。而java就不一样,所有的东西基本都是自己写上去的,这样对初学者来说还是比较好的。
如果是做移动开发 Java编程语言肯定要强过.NET,但是在网站和OA办公系统上.NET上的就要比Java有优势。发展前景的话,按照这几年的发展来看,如果是长期的话还是Java要好些。Java适合开发大项目,.NET适合中小型项目。
.NET转Java难吗?
懂C#的话,转Java也不是那么难,毕竟,语言语法还是相似的。尝试了下Java,说说自己的体会吧。
一、Java和C#都是完全面向对象的语言。在面向对象编程的三大原则方面,这两种语言接近得不能再接近。不过也有一些差别,不过不多,稍微习惯下就好了。
比如:
集合:两种语言都有集合ArrayList,还有通过键访问值的Java中是HashMap而c#中是HashTable。c#比Java多泛型集合List与Dictionary更容易了,无需拆箱装箱了,更安全了。
继承:Java中用关键字extends,c#只用“:”就行了。调用父类的构造方法Java用super关键字,而c#用base关键字。
属性:java中定义和访问均要用get和set方法,可以不成对出现。c#中是真正的属性,访问时用.号即可。
事件。Java中没有(Java通过实现自定义侦听器类执行事件)。C#定义了类似于函数指针的委托来实现事件。
等等...
二、Java Web和ASP.NET也是有相似的,java web的核心是Servlet,Jsp其实本质都是Servlet,而Servlet的流程可以比较清晰看到整个前后台是怎么工作的。类似.NET的ashx一般处理程序,Java是MVC的主要倡导者,随着web技术发展,Servlet主要被当作Control使用,Jsp作为View使用,这在许多MCV框架有所体现。得益于开源社区的活跃,流行的Java MVC框架都比较成熟了.而ASP.NET MVC(虽然我没有用过,大概了解过)感觉使用起来应该不是很舒服把。貌似ASP.NET MVC也还没有推广开来,很多.NET程序员做Web还是停留在服务端控件,不是Webform不好,而是微软会把我们宠坏。感觉Webform不够优雅,耦合太高,个人接触过Java Web后觉得MVC在大多场景下更胜一筹。
三、Java的框架五花八门,有名的全功能栈Spring框架,MVC框架Struts2,SpringMVC(Spring的子项),数据持久层框架 MyBatis、Hibernate、模板引擎FreeMarker、Velocity、框架有框架的好处也有坏处,使用框架无非就是提高生产力,降低测试维护成本,保证系统性能、但是不适合的使用框架只会加重系统复杂度,降低系统性能,增加维护难度。什么时候使用框架什么时候不用,要详细斟酌在做取舍。目前只接触过Struts2,因为做的一些小项目直接Servlet+Jsp+Jdbc就好了,打好基础还是比较重要的,以后在项目慢慢接触使用吧。
总的来说吧,微软的生态环境的不给力留给.NET的面越来越窄,Java生态圈的局面是前途一片光明,选择开源的Java是有原因的,丰富的资料,各种解决方案可选择。曾今遇到一个要实现浏览器post svg到后台转png图片的功能,好不容易在git上找到一个开源的库,一用bug很多,而java Apache下的batik却是相当完善。最后是通过后台cmd调用batik来实现,怎一个悲剧。曾今也在windows phone上抱有兴趣,做了几个demo app发现封闭的wp的api还是太少,招聘wp开发的少之又少、当然C#依然是最优美的语言,Visual Studio依然是最完美的IDE。 .NET程序员们该多接触下其他语言开发平台,至少当作开拓下视野吧。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习