一、 语言比较
php是解释执行的服务器脚本语言,首先php有简单容易上手的特点。语法和c语言比较象,所以学过c语言的程序员可以很快的熟悉php的开发。而java需要先学好java的语法和熟悉一些核心的类库,懂得面向对象的程序设计方法。所以java不如php好学。
二、 数据库访问比较
java通过jdbc来访问数据库,通过不同的数据库厂商提供的数据库驱动方便地访问数据库。访问数据库的接口比较统一。
php对于不同的数据库采用不同的数据库访问接口,所以数据库访问代码的通用性不强。例如:用java开发的web应用从mysql数据库转到oracle数据库只需要做很少的修改。而php则需要做大量的修改工作。
三、 系统设计架构比较
采用java的web开发技术,需要使用的是面向对象的系统设计方法,而php还是采用面向过程的开发方法。所以用java进行开发前期需要做大量的系统分析和设计的工作。
四、 跨平台性
java和php都有很好的跨平台的特性。几乎都可以在不作任何修改的情况下运行在linux或者windows等不同的操作系统上。
五、 开发成本比较
php最经典的组合就是:php + mysql + apache。非常适合开发中小型的web应用,开发的速度比较快。而且所有的软件都是开源免费的,可以减少投入。
java的web应用服务器有免费tomcat、jboss等,如果需要更好的商业化的服务有:web sphere和 web logic。
六、 分布式多层架构比较
php只能实现简单的分布式两层或三层的架构,而java在这方面就比较强大,可以实现多层的网络架构。数据库层(持久化层)、应用(业务)逻辑层、表示逻辑层彼此分开,而且现在不同的层都已经有一些成熟的开发框架的支持。
七、 源代码安全
php开发的程序的源代码都是公开的,他人拿到php开发的程序后都可以进行修改。
java开发的程序,最后用户拿到的是只是一些编译好的class类,无法看到完整的源代码,安全性高。
八、性能比较
有人做过试验,对这两种种语言分别做回圈性能测试及存取oracle数据库测试。
在循环性能测试中,jsp只用了令人吃惊的四秒钟就结束了20000*20000的回圈。而php测试的是2000*2000循环(少一个数量级),却分别用了63秒。
数据库测试中,二者分别对 oracle 8 进行 1000 次 insert,update,select和delete: jsp 需要 13 秒,php 需要 69 秒。
表格 1 php 与java的比较
php java
可复用性 低 高
开发速度 快 慢
易维护性 差 优
可移植性 优-linux、windows、unix等
安全性 低 高
开发费用 低 高
多层架构 差 优
数据库访问 接口不统一 接口统一
可扩展性 差 优
面向对象 差 优
综上所述,php适合于快速开发,中小型应用系统,开发成本低,能够对变动的需求作出快速的反应。而java适合于开发大型的应用系统,应用的前景比较广阔,系统易维护、可复用性较好。还有,同样功能的系统用java开发的系统要比php开发的系统的价格要高.
----非原创
======================================================