为什么很多网站前端使用PHP后台逻辑用Java

网站前端使用PHP后台逻辑用Java是因为:1、PHP需要重复执行;2、PHP容易犯错;3、Java的世界里也有JSTL、Velocity和Freemaker等。PHP由于其动态脚本语言的特性,包括类、函数、常量在内都需要在每次请求周期中重复执行后才能建立运行环境。

为什么很多网站前端使用PHP后台逻辑用Java-Worktile社区

1、PHP需要重复执行

PHP由于其动态脚本语言的特性,包括类、函数、常量在内都需要在每次请求周期中重复执行后才能建立运行环境;为了保证解析速度而牺牲编译质量;应用了FastCGI但仅仅只是复用进程处理请求减少fork成本而不是像其他语言,初始化完毕后通过FastCGI的接口获得数据并以对应接口返回数据等几个原因,基本上已经不可能在性能上追回当初更烂现在开着JIT牌跑车的Java了。更何况,还缺少了系统级共享数据的支持,使得核心数据一次性初始化后重复使用必须借助扩展或中间件。

2、PHP容易犯错

在PHP里是如此的容易犯错而难以发现,即使你用实质上出自官方的Zend Studio,也无法改变一个事实:要保证你的程序高质量无大错,得要有充足的经验、足够的严谨、以及——负责任的QA。淘宝的黄裳就曾经拿IDE这事开过玩笑。而玩笑背后的那个原因“缺乏中间件”最近几年有不少的改善,主要是不少中间件的支持变得更广泛了从而让PHP得益,但发展的根源其实还是在C和Java社区。性能和易犯错则是语言特性造成的技术难点,也是用来换取灵活、快捷的必要代价,很难去指望有根本的改善。

3、Java的世界里也有JSTL、Velocity和Freemaker等

Java的世界里也有JSTL、Velocity和Freemaker等,但和PHP灵活而强大的动态能力、丰富的函数和类库、轻松的学习成本、多到令人发指的文档相比,简直就是渣,就是渣啊!JSTL改完了要重启Context啊有木有?Velocity不关缓存也要重启啊有木有?Velocity开缓存性能低下啊有木有?即使这些都不管,调整下某个数据校验规则要改Action也要重启有木有?

延伸阅读:

什么是PHP?

PHP(PHP: Hypertext Preprocessor)即“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法学习了C语言,吸纳Java和Perl多个语言的特色发展出自己的特色语法,并根据它们的长项持续改进提升自己,例如java的面向对象编程,该语言当初创建的主要目标是让开发人员快速编写出优质的web网站。PHP同时支持面向对象和面向过程的开发,使用上非常灵活。

PHP是一个拥有众多开发者的开源软件项目,最开始是Personal Home Page的缩写,已经正式更名为 “PHP: Hypertext Preprocessor”。PHP是在1994年由Rasmus Lerdorf创建的,最初只是一个简单的用Perl语言编写的统计他自己网站访问者数量的程序。后来重新用C语言编写,同时可以访问数据库,1995年,PHP(Personal Home Page Tools)对外发表第一个版本PHP1。此后,越来越多的网站开始使用PHP,并且强烈要求增加一些特性,如循环语句和数组变量等,1995年发布的PHP2加入了对mySQL的支持。

Andi Gutmans和Zeev Suraski在为一所大学的项目中开发电子商务程序时发现PHP2功能明显不足,于是他们重写了代码发布了PHP3。PHP3是类似于现代PHP语法结构的第一个版本,PHP3的最强大的功能是它的可扩展性,PHP3的新功能和广泛的第三方数据库、API的支持使得这样程序的编写成为可能。

文章标题:为什么很多网站前端使用PHP后台逻辑用Java,发布者:小编,转载请注明出处:https://worktile.com/kb/p/36127

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年1月30日 下午10:36
下一篇 2023年1月30日 下午10:39

相关推荐

  • 小程序开发好还是APP开发好两者各有哪些优劣势

    小程序开发好还是APP开发好两者各有哪些优劣势:APP能够提供更多的功能,可以更好地实现用户的需求;另外,APP还可以提供更多的离线功能,可以在网络不通的情况下使用。APP软件的开发成本较高,需要独立的开发环境,而且在应用市场上的曝光率较低,不利于用户的发现。 一、APP与小程序有什么区别 1、功能…

    2023年5月10日
    1200
  • 工作流管理系统的功能包括哪些

    工作流管理系统的功能包括:1.流程设计功能;2.流程审批功能;3.流程统计分析功能;4.业务系统集成功能。通过流程管理系统,可以完成流程审批、表单设计器、请假流程、报销流程等内容。 1.流程设计功能 工作流管理系统支持推行花定义方式,图形化也是用JavaScript与Ajax技术相结合,采取拖拉的方…

    2022年11月15日
    11800
  • Android开发中用SQLite保存时间最好是存成什么类型

    Android开发中用SQLite保存时间最好是存成integer类型。unix时间是通用的标准表达方法,一般直接存成integer就好了,它只表示一串数字,当初设计保存成秒就是秒,保存成毫秒那就是毫秒。至于保存成datetime,即便是mysql上,一般也不怎么推荐。 Android开发中用SQL…

    2023年5月30日
    300
  • IP 地址类型有哪些

    IP 地址有不同的类别,每个类别内有不同的类型,比如:1、消费者 IP 地址;2、专用 IP 地址;3、公共 IP 地址,其中公共 IP 地址有两种形式 – 动态和静态。除此以外,网站 IP 地址有两种类型:1、共享 IP 地址;2、专用 IP 地址。 IP 地址类型有哪些 1、消费者 …

    2022年10月24日
    15400
  • 精益管理的核心是什么

    精益管理的核心是:精益管理的核心就是以最小资源投入创造出尽可能多的价值,为顾客提供新产品和及时的服务。精益管理要求企业的各项活动都必须运用“精益思维”。“精益思维”的核心就是以最小资源投入, 创造出尽可能多的价值。 1、精益管理要求企业的各项活动都必须运用“精益思维” “精益思维”的核心就是以最小资…

    2023年5月7日
    2000
  • 国内有哪些好的java开源电子商城系统

    java开源电子商城系统有:1、mall4j商城系统;2、mall4cloud微服务商城;3、Zscat-me;4、Javashop-B2C单店商城;5、猫宁Morning公益商城。mall4j商城系统基于spring boot、spring oauth2.0、mybatis、redis的轻量级、前…

    2023年2月7日
    37600
  • Java语言的GC为什么不实时释放内存

    Java的GC不使用引用计数器方法,而是使用可达性分析算法。GC的目的是恢复已分配和未使用的内存,提高内存利用率和程序执行效率。如果我们对内存进行实时的垃圾分析和回收,将会消耗更多的资源和执行时间。 1、最基本的纯引用计数方式的自动内存管理可以做到实时释放死对象,但却无法处理存在循环引用的对象图的释…

    2023年2月8日
    6700
  • 敏捷开发干什么用的

    敏捷开发的作用是以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。 敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被…

    2023年4月16日
    1400
  • LSMTree是什么

    LSMTree是Log Structrued Merge Tree,这是一种分层有序,硬盘友好的数据结构。核心思想是利用磁盘顺序写性能远高于随机写。LSMTree 并不是一种严格的树结构,而是一种内存+磁盘的多层存储结构。HBase、LevelDB、RocksDB这些 NoSQL 存储都使用了 LS…

    2023年4月15日
    1400
  • vlan有哪些优点

    vlan的优点:1、广播风暴防范;2、安全性高;3、成本降低;4、性能提高;5、提高人员工作效率;6、简化项目管理或应用管理;7、增加了网络连接的灵活性等。广播风暴防范是指,限制网络上的广播,将网络划分为多个VLAN可减少参与广播风暴的设备数量。 1、广播风暴防范 限制网络上的广播,将网络划分为多个…

    2023年1月5日
    63000

发表回复

登录后才能评论
联系我们
站长微信
站长微信
分享本页
返回顶部