php是解释执行的服务器脚本语言,首先php有简单容易上手的特点。语法和c语言比较象,所以学过c语言的程序员可以很快的熟悉php的开发。而java需要先学好java的语法和熟悉一些核心的类库,懂得面向对象的程序设计方法。所以java不如php好学。
java首先要编译成字节码.class文件,然后在java虚拟机上解释执行。java的web开发首先最容易想到的就是jsp(现在已经到jsp2.0),原来的java的web开发都是用servlet来实现的,用servlet来开发需要程序员在java的源文件中嵌入大量的html代码。
所以后来就出现了jsp,jsp可以方便的嵌入到html文件当中,其实jsp文件在服务器上执行的时候首先会被应用服务器转换成servlet,然后再编译执行。jsp可以通过servlet和javabean的支持产生强大的功能。javabean是一种可复用的、跨平台的软件组件。使用javabean可以方便的实现java代码和html的分离,能够增强系统的功能和软件的复用性。
java的web开发属于sun公司定义的j2ee其中的规范。而且在j2ee中包括了java的web开发的所有方面,如:jsp、servlet、jdbc、jndi、javabean、ejb等等。j2ee就特别适合于做大型的企业级的应用。
3
系统设计架构比较
采用java的web开发技术,需要使用的是面向对象的系统设计方法,而php还是采用面向过程的开发方法。所以用java进行开发前期需要做大量的系统分析和设计的工作。
4
跨平台性
java和php都有很好的跨平台的特性。几乎都可以在不作任何修改的情况下运行在linux或者windows等不同的操作系统上。
5
性能比较
有人做过试验,对这两种种语言分别做回圈性能测试及存取oracle数据库测试。
在循环性能测试中,jsp只用了令人吃惊的四秒钟就结束了20000*20000的回圈。而php测试的是2000*2000循环(少一个数量级),却分别用了63秒。
数据库测试中,二者分别对oracle8进行1000次insert,update,select和delete:jsp需要13秒,php需要69秒。
6
分布式多层架构比较
php只能实现简单的分布式两层或三层的架构,而java在这方面就比较强大,可以实现多层的网络架构。数据库层(持久化层)、应用(业务)逻辑层、表示逻辑层彼此分开,而且现在不同的层都已经有一些成熟的开发框架的支持。例如struts就是利用java的web开发技术实现了mvc的设计模式,而在业务逻辑层也有spring框架,数据库持久化层有hibernate等框架。这些框架可以方便开发者高效、合理、科学得架构多层的商业应用。
下面简要的说一下struts,它实质上是在jspmodel2的基础上实现的一个mvc(model、view、controler)框架。jspmodel2体系结构是一种联合使用jsp与servlet来提供动态内容的方法。在struts框架中,模型由实现业务逻辑的javabean或ejb组件构成,控制器由servlet实现的,视图由一组jsp文件组成。采用struts可以明确角色的定义和开发者与网页设计者的分工。而且项目越复杂,其优势越明显。
7
源代码安全
php开发的程序的源代码都是公开的,他人拿到php开发的程序后都可以进行修改。
java开发的程序,最后用户拿到的是只是一些编译好的class类,无法看到完整的源代码,安全性高。
8
开发成本比较
php最经典的组合就是:phpmysqlapache。非常适合开发中小型的web应用,开发的速度比较快。而且所有的软件都是开源免费的,可以减少投入。
java的web应用服务器有免费tomcat、jboss等,如果需要更好的商业化的服务有:websphere和weblogic。
9
java和php在web开发方面的比较
综上所述,我个人认为,php适合于快速开发,中小型应用系统,开发成本低,能够对变动的需求作出快速的反应。而java适合于开发大型的应用系统,应用的前景比较广阔,系统易维护、可复用性较好。还有,同样功能的系统用java开发的系统要比php开发的系统的价格要高。
对于学习有困难不知道如何提升自己可以加扣:578024144进行交流得到帮助,获取学习资料
---------------------
作者:java妞妞
来源:csdn
原文:
首先你要热爱它,如果你对它很感兴趣,然后可以去学它的基础语法,简单的demo,再到上手做自己的第一款app,这个过程是枯燥无味的,所以你要能钻研进去,不存在好不好学,只要你真的想学好,是没有任何问题的。