本文目录一览:
java有什么优点和缺点
Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
Java是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。
java是纯面向对象开发,功能强大,分支众多,没有java不能做的软件。C/S也好B/S也好。从功能上讲,没有语言可以和java相比。
Java稳定,应用广泛,一定时期内很难被其他编程语言取代;而许多大型系统都是用java开发,也不可能轻易使用其他语言。
同时,java还具有很多特点
1、跨平台性,虽然是很好的优势,可以让java在任何的系统中运行,但是前提是该系统要安装java虚拟机,这样导致一些java编写的桌面程序无法在一般的用户(没有安装java虚拟机的用户)上使用
2、java的身后是sun公司,提供及时的api更新,但是过多的版本导致java的向下兼容性很差。而sun公司在j2ee上的标准定义的并不是完美,导致在j2ee的开发中多数使用开源框架,开源框架是好东西,但是更新速度并不快。
3、都说面向对象的语言先进与面向过程,java是oop语言,但是它适合的是bs系统,在web项目中java的实力毋庸置疑,但是转到了底层的程序却无法同c++抗衡。
4、个人认为java的最大优点是开源,但是这往往也成了最大的缺陷了,无法定义一个好的标准使得开发时使用了框架,在新的程序员来到公司时必须先了解框架,延缓了开发的时间。
所以java的前景应该是稳定而光明的。
PHP和JAVA比较有哪些优势?
选择java还是选择PHP?学习java还是学习PHP?java好还是PHP好?java强大还是PHP强大?语言的纷争一直没有停歇过,我并想参与纷争,我只想从各个角度和我知道的实际情况,对二者做个全面剖析。希望对即将入行的朋友一点参考。
1、java和php技术层面对比:
java是纯面向对象开发,功能强大,分支众多,没有java不能做的软件。C/S也好B/S也好。从功能上讲,没有语言可以和java相比。但其优势也是其劣势,具体参考第6点。
PHP属于后起之秀,吸收了java和c以及perl等语言优点,专注互联网领域。WEB领域PHP拥有得天独厚的优势,WEB领域没有语言可以和他比。
两者相比,基本上java完胜。但是其实并没有太大的可比性,专注领域不同。单纯拿两者都可以做的WEB来说,PHP完胜。
2、java和php市场份额对比:
java语言算是古老,多年的发展,其在C/S领域和B/S领域都占有一席之地,特别是在电信和银行行业。但随着社会需求的变化和其他语言的专注,java的市场正被一点点蚕食,WEB领域几乎被PHP一统天下,嵌入式领域几乎被C++一统天下,客户端领域几乎被C语言一统天下,要不是安卓的出现,java的命运还真不好说了。其之前积累的巨大java帝国不会一下子崩塌,一定是有一个过程。所以现在学习并不需要担心其前途,现在学习你更需要担心的却是近十年间英才辈出的javaer,和大批正在进入java阵营的同业者。
PHP在市场描述就比较简单了,因为我们只要看一个领域,那就是web领域。WEB领域php的市场超过80%,其余的则是如java-JSP,asp,C#,.NET,python,ruby等。网站500强中有395家使用PHP。全球最大的两个网站facebook和新浪微博全在使用PHP。
两者相比,算平分秋色。
3、java和PHP的发展空间对比
安卓势头很猛,但手机安装app数量有限,推广难,也是app面临的最大挑战,好在安卓只有JAVA可以做,除此之外就是HTML5了。
中国人口占全球人口19.7%,中国网民占全球网民22.4%,中国网站数量占全球网站数量的0.5%,网站的可发展空间可谓巨大;发达国家互联网对GDP的贡献可达20%,中国互联网对GDP的影响仅为3%。可谓互联网的发展空间巨大,而互联网离不开WEB,WEB离不开PHP。
两者相比,个人觉得PHP的优势更加明显。
4、java和PHP的薪资对比
薪资事由供求关系决定的,人才缺失,薪资自然高,人才饱和,薪资自然不会高。
java由于大学基本都有这个课程,很多人想从事软件行业的时候,自然就学习JAVA了,加上java近10年的火爆,人才辈出,整个java行业是处于供大于求的。南京地区:一个30人的java培训班,最后差不多10人找不到理想的工作而转行,最低薪资甚至只有1000多元,就有人肯干。当然java学的好的,薪资4000多也是不少的。
PHP完全依托于市场的驱动,难点在于很多人并不了解PHP,也没途径可以了解,根本原因是大学没有这个课程,我知道的,南京百十所高校只有晓庄学院开了PHP课程,而且不是作为主修。市场对PHP的需求,高校并不清楚,高校更愿意推符合学院派特点的java。
学习php的人少,企业需求多,导致PHP薪资远远超过了同行业者。一般起薪没有低于3000元的。南京地区高的早已经突破4500元。北上广更是突破了6000元的起薪。
两者相比:除了java工作难找,但只要找到了工作,高位线是差不多的,低位线JAVA明显处于劣势。
5、java和php的薪资涨幅速度对比:
java是公认的难,难上手,真正上手需要至少1-2年,而这期间都属于学徒级别,薪资涨幅有限。2年后会有一个较大的涨幅,基本拿个6-7千是没有问题的。
PHP是公认的简单,上手极快,基本过了试用期就可以涨工资了,PHPer正常是半年涨一次薪资,前3年的幅度都还可以,1年5-6千,2年7-8千。3年能过万的也大有人在。
两者相比:其实php的前端优势明显,后段双方区域持平。并不像很多人说的PHP后面难涨,PHP缺人,但更缺熟手。java也不像很多人吹嘘的那样高薪,两级分化严重。其实也很正常,越难的语言,两级分化越是严重。
6、java和php各自发展的瓶颈:
JavaEE体系曾经统治企业级软件开发长达数十年之久,十年间英才辈出,但是Java语言本身却越来越显示出臃肿和分裂的态势。使用Java是个昂贵的选择,复杂的需求设计, 缓慢的项目进度,昂贵的应用服务器和维护难度使Java成为了一种庙堂之上的语言。而版本的分裂也使所谓的跨平台特性成为了一句空话。Java的特性使得它并不适合业务随着市场快速变化的互联网企业,WEB领域几乎被PHP一统天下,嵌入式领域几乎被C++一统天下,客户端领域几乎被C语言一统天下,要不是安卓的出现,java的命运还真不好说了。php的大中型系统开发,方便、快速、是java跟asp.net没法比拟的, 还有php有很多如yaf,yii,ci等强大的框架, 中小型一般系统的开发,一个thinkphp就足于通杀java的ssh三大框架了。
PHP由于其简单,快速开发等特点,也导致了开发复杂应用稍显吃力,所谓成也萧何败也萧何,PHP由于其关注应用层面,开发基本不需要考虑底层的东西,导致其开发快速,学习简单;但也导致了学习PHP工作一段时间比较容易遇到瓶颈,PHP在5.3版本后加入了更为强大的扩展,通过PHP的扩展可以实现PHP本身实现不了的功能。所以PHP开发遇到了这样瓶颈,可以考虑通过扩展来解决,facebook和weibo.com正在大量使用扩展功能去应对一个又一个的难题。新浪微博架构师兼首席PHP技术顾问惠新宸一直在专注与PHP底层原理的研究和分享。扩展是被他认为PHP最伟大的地方。
7、java和PHP的岗位数对比:
一下数据出自2014年9月初的百度统计:
2014年9月初,全国java招聘岗位数为82703个。
全国java招聘岗位数
2014年9月初,全国PHP招聘岗位数为47263个。
全国PHP招聘岗位数
java的岗位数差不多是PHP岗位数的2倍不到。但值得深思的是,java的人才数量是PHP人才数量的100倍还不止。
8、java和PHP的学习成本对比:
java学习,是公认的难。难以上手,难以理解。自学时间成本是12个月,自学成功率不到10%,培训时间成本也近6个月。培训费用平均成本大致为15000元左右。成为熟手的时间成本为2年。成为高手的时间成本一般为5年以上。
PHP学习,是公认为最简单的语言。解释性语言,无需编译。自学时间成本是6个月,自学成功率20%,培训时间成本3个月。培训费用平均成本8000元左右。成为熟手的时间成本为1年。成为高手的时间成本一般为3年以上。
两者相比,java的学校成本要明显高于PHP。
总结一下:java和PHP各有各的优势,说到明天早上也不一定说的完,我想说的是学习哪一个,都是OK的。
想学java就从事安卓行业,想从事WEB领域,就学习PHP。
由于java的学习难度,没有基础或者基础不好的同学还是谨慎选择,对于零基础的同学还是PHP可能更加适合一点。
.net 与java的优劣比较
java的特色,网上多得是!这里主要补充一些实际的例子!
1,用java开发业务教复杂的程序,相对来说要轻松一些!因为java社区丰富!本身灵活度很高,并且是OO的语言!可以套现设计模式!
2,java的多数框架都是开源的!学习java很方便!成本低!(.net不开放源码)
3,.net是一个框架,与java语言不相关!具体可以与一些开源框架比较,例如spring,webwork,hibernate等等.
4,java的执行效率没有.net高!
综述,.net适合做网站,中型的!java适合做后台,企业系统,大型网站!
java与.net的相同:
1.都有虚拟机
2.都有庞大的类库
3.代码都在虚拟机保护模式下运行
java与.net的不同:
1.java是多次运行时都解析,而.net是在第一次运行时解析后,以后执行的就是本机代码
2..net虚拟机代码公开,各种语言都可以基于.net虚拟机进行开发
3..net暂时不支持跨平台,不过只要虚拟机一跨平台,你所有的程序就跨平台了