Java和PHP的区别?
java是纯面向对象开发,功能强大,分支众多,没有java不能做的软件。C/S也好B/S也好。从功能上讲,没有语言可以和java相比。但其优势也是其劣势,具体参考后面的瓶颈解释。
PHP属于后起之秀,吸收了java和c以及perl等语言优点,专注互联网领域。在WEB领域中PHP拥有得天独厚的优势,WEB领域没有语言可以和PHP相比。
2、数据库访问上不同
Java通过JDBC来访问数据库,通过不同的数据库厂商提供的数据库驱动方便地访问数据库。访问数据库的接口比较统一。
PHP对于不同的数据库采用不同的数据库访问接口,所以数据库访问代码的通用性不强。例如:用Java开发的Web应用从MySQL数据库转到Oracle数据库只需要做很少的修改。而PHP则需要做大量的修改工作。
3、系统技术架构上不同
Java语言有着完备的MVC框架,包括视图层、业务控制层和持久层,在Spring框架中,我们可以通过IOC和AOP降低编码过程中的高耦合,也就是说Java中的这些框架可以让开发者有更广阔的空间去设计科学合理的架构,也体现着Java多层架构的特点。
相比Java而言,PHP留给开发者的空间并不多,但PHP近些年也在改进,迎合电子商务的需要,引入MVC设计模式,但成熟性和稳定性上与Java还是有着不小的差距。不得不提的是PHP可兼容MySQL开发,这使得在考虑成本因素的前提下,PHP变得小而精,收到了一些中小型网站的青睐。
4、安全性上不同
在同是开源和跨平台的java面前,php丢掉了很多的优势,在代码的安全性上尤为突出。
php的开发程序在别人拿到代码后,可以很容易的进行修改。而java开发的程序由于无法看到完整的源代码,只能看到一些编译好的类文件,所以安全性较高。
5、开发成本上的不同
PHP最经典的组合就是:PHP + MySQL + Apache。非常适合开发中小型的Web应用,开发的速度比较快。而且所有的软件都是开源免费的,可以减少投入。
Java的Web应用服务器有免费Tomcat、JBoss等,如果需要更好的商业化的服务有:Web Sphere和 Web lo
java是半编译半解释语言,php是脚本语言
java使用封装继承,最小的单位是类,php作为脚本,最小单位就是语句,用两者输出hello world就知道了,所以java语法比较严格,而php很灵活
java是自动内存分配回收,php是一次创建一次销毁,相同点:两者都不用考虑内存泄漏问题,不同点:java可以常驻内存,多线程;php无法常驻内存,也没有线程的概念
java分三个方向
J2ME,嵌入式设备,安卓就是目前最大的J2ME平台,不过其使用的不是JVM,而是谷歌自己开发的虚拟机
J2SE,桌面编程,基本没落,需要JVM支持
J2EE,web方向的编程,近些年大规模的衰减,java语言排名榜之所以跌这么快,就是由于J2EE的出走,如果不是安卓兴起,java的现状可能更悲惨点,近年来脚本语言发展太快,挤压了java在web上面的开发。不过在企业级的解决方案里面,因为追求性能和安全行,基本上还是java老大
PHP:不用想了,就是为web而生的语言,出了web什么都做不了,这既是它的缺点,也是它的优点,语法简洁灵活,和java冗长的语法正好形成对比
java已经是一门很成熟的语言,或者说其语言的进一步提升已经不可能能了,曾经看到一篇文章,讲编程语言的进化,其中提到,java语言的进化树太全了,使得其没有发展的空间
php是在web繁荣之后兴起的语言,所以语言成熟度没有java高,2006年(如果我没记错的话)推出的php5.0才略微完善了面向对象的机制