For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
说到现在流行的的两种编程语言:学习JAVA和学习PHP的对比优势,大家都不陌生。一些想学习编程技术的学员还在纠结这二者该学习哪个比较好。今天东莞达内整理了二者的对比优势,希望对大家有用!两者其实都是相通的编程语言,希望你有所收获。
从JSP和PHP的底层运作、框架扩展两个方面来谈谈两者的优劣。
1.底层运作:PHP使用两层、JSP使用三层来处理用户的请求和回显。
PHP的两层:Web服务器软件(Apache、Nginx)->PHP Zend解析器解释脚本并回显。
JSP的三层:Web服务器软件(Apache、Nginx)->容器->Java虚拟机解析Servlet并回显。
"容器"是JSP中的一个重要概念,容器可以控制servlet的生命周期(实例化和回收servlet);支持多线程调用servlet并处理线程销毁;使用XML配置安全性,不用写死在servlet里,不用重新编译;把JSP代码翻译为Java代码。
PHP少了这个中间层,像多线程、安全性自然不如JSP。但PHP可以采用Opcode技术把脚本解析的结果缓到内存(比如使用APC、eAccelerator、XCache),省略了由PHP脚本到Opcode解析过程。这样速度当然比“把JSP代码翻译为Java代码”再由Java虚拟机解释执行快。不过对于动态确定的内容无法使用Opcode缓存技术。
2.框架扩展:
PHP提供扩展,方便与其它语言相互调用(如C),也有成熟的PECL扩展可用。
JSP支持多框架,如1)使用Hibernate做数据持久连接,这也是JSP操作数据库比PHP快好多倍的原因,其次JSP与DB的接口操作也方便。2)使用Spring调用JavaBean处理业务逻辑。且JSP有Java做后盾,可以调用很多J2EE成熟的库(如EJB),而PHP是做不到的。
其实这两种语言使用的场景不是很一样,php一般用来做内容管理系统、论坛、博客(facebook)、社交(微博)。
java一般用做企业级的开发,这种开发的重点适应业务需求的变动性,而且业务的复杂度也比较高。如果性能要求高的,也是要首选java。
facebook、百度、新浪的访问量也很大,但是他们仅仅将php作为页面展示层。facebook使用了多种语言(php,c/c++,java,erlang等),他们的php直接编译成c++运行,php和各个语言之间使用shift框架进行通信。同时facebook使用大量的nosql。
新浪微博的php,估计也是使用他们自己的引擎,新浪有ACE,估计底层有一些C的扩展。同时他们还有自己的KVDB,来处理大数据。
百度底层的搜索算法层应该是C写的,牵扯到数据库处理层,估计是java或者c写的。
所以说如果使用php处理大数据的话,一般是大公司用,这时候php就退化为一个界面展示层。
java处理大数据,依靠他先天的优势,可以方便的使用连接池等技术,又有soa等成熟技术处理分布式的业务需求。这方便国内的代表肯定是淘宝、京东。这些大电商平台,因为电商的用户比较多,停留的时间比较长,所以对系统的要求比较高。我觉得你应该知道:学习JAVA和学习PHP的对比优势的答案了?
更多Java技术知识在东莞达内Java培训~