写点什么

让 PHP 跑在 JVM 上——JPHP

  • 2014-03-26
  • 本文字数:825 字

    阅读完需:约 3 分钟

JPHP 是一个面向 Java 虚拟机的 PHP 实现,支持 PHP(5.3+)的很多特性。JPHP 负责将 PHP 源代码编译为 JVM 字节码,使其能够运行在 JVM 上,这一点和 JRuby、Jython 等实现类似。它支持 JDK 1.6 及以上版本。该项目发起于去年 10 月。

JPHP 无意替代 Zend PHP 引擎或 Facebook HHVM (HHVM 的思路是将 PHP 编译为一种中间字节码,再通过 JIT 将字节码编译为 x64 机器码)。出于以下原因,设计者不打算为 JPHP 实现 Zend 运行时库(如 Curl、PRCE 等):

  • 能够在 PHP 中使用 Java 类库
  • 通过 JIT 和 JVM 提升性能
  • 使用更好的运行时库替换 Zend PHP 丑陋的运行时库
  • 将 PHP 语言的使用范围扩充到 Web 之外
  • JVM 对 Unicode 字符串和线程支持更好

JPHP 有如下功能:

  • JIT(比 PHP 5.4 快 2-10 倍)
  • 优化器(优化常量表达式、内联函数等)
  • 可以在 PHP 代码中使用 Java 的类库和类
  • Unicode 字符串(类似 Java 中的 UTF-16)
  • 线程、套接字
  • 环境架构(类似 runkit zend 扩展中的沙盒对象)
  • 支持 GUI,基于 Swing 实现而且有所改进,提供了更为灵活的布局
  • 面向类和函数的内嵌缓存系统
  • 面向类和函数的可选热更新(Optional Hot Reloading)机制

语言方面的特性包括:

  • 完全支持 PHP 5.2+(包括 OOP)
  • 闭包(PHP 5.3),在闭包中自动绑定 $this(PHP 5.4)
  • 完全支持命名空间(PHP 5.3)
  • 类的 spl 自动加载(PHP 5.3)
  • Iterators、ArrayAccess 和 Serializable
  • 类、数组和 callable 的类型约束(PHP 5.4)
  • 数组短语法(PHP 5.4)
  • 针对循环引用的 GC(PHP 5.3)

更多特性可以查看该项目的 README 文件。

此外,JPHP 还提供了一些 PHP 不支持的特性,比如在 __toString 方法中可以使用异常、对标量的类型约束等。

JPHP 并非改进 PHP 性能的第一次尝试,到底效果如何,我们拭目以待。感兴趣的读者可以下载并动手尝试一下。


感谢孙镜涛对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-03-26 20:575439
用户头像
臧秀涛 略懂技术的运营同学。

发布了 300 篇内容, 共 139.1 次阅读, 收获喜欢 35 次。

关注

评论

发布
暂无评论
发现更多内容

Pencils Protocol Season 2 收官在即,展望Season 3 及其权益

BlockChain先知

宝尊将于2024年5月28日发布2024年一季度未经审计财务业绩

财见

Pencils Protocol Season 2 收官在即,展望Season 3 及其权益

西柚子

Galxe已投资Pencils Protocol,投资者阵营正不断扩大

股市老人

Pencils Protocol Season 2 收官在即,新系列有哪些重磅权益呢?

股市老人

OpenAI发布会最新消息!ChatGPT新功能发布!

蓉蓉

openai ChatGPT GPT-4

券商龙头借助PowerAgent实现大模型落地成本与效率平衡

中关村科金

人工智能 落地大模型应用 大模型应用开发

信创CPU是什么意思?有哪些品牌?用哪个好?

行云管家

软件 信创

BOE(京东方)携全场景AI智慧显示等前沿技术亮相2024国际显示周 “科技+绿色”引领行业发展风向标

爱极客侠

Pencils Protocol Season 2 收官在即,新系列有哪些重磅权益呢?

石头财经

OpenSearch LLM智能问答版全新升级

阿里云大数据AI技术

人工智能 阿里云 开源 LLM

聊聊MySQL是如何处理排序的

华为云开发者联盟

MySQL 华为云 华为云开发者联盟 企业号2024年5月PK榜

阿里巴巴搜索API返回值解析:电商精准搜索的关键

技术冰糖葫芦

API boy API 接口 API 文档 pinduoduo API

BOE(京东方)董事长陈炎顺获2024年“David Sarnoff产业成就奖” “屏之物联”引领产业高质发展新变革

爱极客侠

什么是大模型微调 (Fine-tuning)?

澳鹏Appen

人工智能 大模型 大模型微调 模型微调 大模型微调实践

Pencils Protocol 获合作伙伴 Galxe 投资,加快了生态进展

西柚子

让PHP跑在JVM上——JPHP_PHP_臧秀涛_InfoQ精选文章