有关于java和PHP的区别?

PHP暂时还不支持像Java那样JIT运行时编译热点代码,但是PHP具有opcache机制,能够吧脚本对应的 opcode缓存在内存,PHP7中还支持配置opcache.file_cache导出opcode到文件,第三方的Facebook HHVM也支持JIT,另外PHP官方基于LLVM围绕opcache机制构建的Zend JIT 分支也在开发测试,在php-src/Zend/bench.php测试显示,php JIT分支速度是PHP5.4的10倍。
PHP的库函数是用C实现的,而java核心运行时库(jdk/jre/lib/rt.jar,大于60MB)用java编写(jdk/src.zip),所以Java应用运行的时候,用户编写的代码以及引用的类库和框架都要在JVM.上解释执行.Java的HotSpot机制,直到有方法被执行10000次才会触发JIT编译,在此之前运行在解释模式下,以避免出现JIT编译花费的时间比方法解释执行消耗的时间还要多的情况.
PHP内置模板引擎,自身就是模板语言.而Java Web需要使用JSP容器如Tomcat或第三方模板引擎.
PHP也可以运行在多线程模式下,比如Apache的
event MPM和Facebook的HHVM都是多线程架构.不管是多进程还是多线程的PHP Web运行模式,都不需要PHP开发者关心和控制,也就是说PHP开发者不需要写代码参与进程和线程的管理这些都由PHP-
FPM/HHVM/ Apache实现. PHP-FPM进程管理和并发实现并不需要PHP开发者关心,而Java多线程编程需要Java开发者编码参与.PHP一个worker进程 崩 溃,master进程会自动新建一个新的worker进程 ,并不会导致PHP服务崩溃.而Java多线程编程稍有不慎(比如没有捕获异常)就会导致JVM崩溃退出,对于PHP-FPM和Apache MOD. _PHP来说,服务进程常驻内存,但一-次请求释放一-次资源,这种内存释放非常彻底. PHP基于引用计数的GC甚至都还没发挥作用程序就已经结束了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值