项目地址:https://github.com/jphp-compiler/jphp

旧文:http://www.cnblogs.com/x3d/p/3631386.html

旧文2:http://www.cnblogs.com/x3d/p/3642287.html

看过代码,就感觉这个项目应该还欠缺一点技术方面的东西:所有从PHP访问Java的功能必须要编写对应的Wrapper,而不能直接在PHP中访问Java类;这方面是不如Quercus的,但Quercus的社区版是解释型而不是编译型的,对于有完美情节的人来说,又是一种遗憾。

PHP Compiler for JVM

JPHP是使用Java虚拟机环境的一种新的PHP实现,支持PHP(5.5+)的很多特性。

JPHP是一种编译器,就像javac, 它把php源码编译成JVM字节码,然后在Java VM上运行。

定位

JPHP不是Zend PHP 引擎或者Facebook HHVM的替代品。我们没有想过让JPHP实现整个zend运行库,如Curl、PRCE等。

我们的项目开始于2013年10月。其创建原因:

  1. 以PHP语言使用java的库
  2. 通过JIT及JVM提升PHP性能
  3. 把Zend 这样丑陋的运行时库替换成更好的运行时库
  4. 让PHP语言不仅仅在web领域使用
  5. 字符串unicode化支持、线程支持

特性

  • JIT (1x - 10x 速度快于 PHP 5.5)
  • Optimizer (常量表达式、内联函数等)
  • 在PHP代码中使用java的库和
  • 字符串的Unicode化 (UTF-16, 像Java那样)
  • 线程化 - Threading, Sockets
  • Environment architecture (like sandbox objects in runkit zend extension).
  • GUI (基于Swing, 并改进了 - 有了更多灵活的布局方式)
  • 内嵌类与函数的缓存系统
  • 可选热重载类和函数
  • 可以在 Android 操作系统上用哦

语言特性

(不带zend运行时库)

  • PHP 5.5+ (with OOP)
  • 类Spl autoloading
  • Iterators, ArrayAccess, Serializable, 等等
  • 类反射
  • __debugInfo 用于 var_dump (php 5.6)
  • ** 操作符(php 5.6)
  • Constant Scalar Expressions (with constants) (php 5.6)

JPHP尚未支持的?

  • 导入命名空间化的函数 (php 5.6)
  • 可变参数函数的专用语法 (php 5.6)
  • 参数拆箱 (php 5.6)

文档


JPHP最新进展 v0.6的更多相关文章

  1. paper 91:边缘检测近期最新进展的讨论

    VALSE QQ群对边缘检测近期最新进展的讨论,内容整理如下: 1)推荐一篇deep learning的文章,该文章大幅度提高了edge detection的精度,在bsds上,将edge detec ...

  2. paper 90:人脸检测研究2015最新进展

    搜集整理了2004~2015性能最好的人脸检测的部分资料,欢迎交流和补充相关资料. 1:人脸检测性能 1.1 人脸检测测评 目前有两个比较大的人脸测评网站: 1:Face Detection Data ...

  3. Graph 卷积神经网络:概述、样例及最新进展

    http://www.52ml.net/20031.html [新智元导读]Graph Convolutional Network(GCN)是直接作用于图的卷积神经网络,GCN 允许对结构化数据进行端 ...

  4. SQL on Hadoop系统的最新进展(1)

    转自:http://blog.jobbole.com/47892/ 为什么非要把SQL放到Hadoop上? SQL易于使用.那为什么非得基于Hadoop呢?the robust and scalabl ...

  5. R-Tree空间索引算法的研究历程和最新进展分析

    转自原文 R-Tree空间索引算法的研究历程和最新进展分析,2008 摘要:本文介绍了空间索引的概念.R-Tree数据结构和R-Tree空间索引的算法描述,并从R-Tree索引技术的优缺点对R-Tre ...

  6. DataPipeline丨LinkedIn元数据之旅的最新进展—Data Hub

    作者:Mars Lan, Seyi Adebajo, Shirshanka Das 译者: DataPiepline yaran 作为全球最大的职场社交平台,LinkedIn的数据团队不断致力于扩展其 ...

  7. 国浩:Cassandra在360的最新进展

    大家好,我是来自奇虎360的国浩.今天我给大家带来的是Cassandra在360的最新进展. 我会从四个方面来介绍Cassandra在360的应用情况:Cassandra在360的使用历史再结合两个案 ...

  8. 官宣 MAUI 在.NET Preview 3的最新进展

    我们在.NET 6 Preview 3中交付了.NET多平台应用UI的移动和桌面开发的最新进展.此版本添加了Windows平台和WinUI 3,改进了基本应用程序和启动构建器,添加了原生生命周期事件, ...

  9. Restful.Data 开源持久层组件项目最新进展和使用说明

    Restful.Data 经过 博客园 和 CSDN 的宣传,目前参与该项目的人数已达到 114 人(群号:338570336),虽大部分并不参与实际开发,但他们所提出的意见和建议以及在试用过程中发现 ...

随机推荐

  1. atitit 短信接口规范与短信解决方案.docx

    atitit 短信接口规范与短信解决方案.docx 1.1. 国内比较著名的短信提供商1 1.2. 短信接口规范1 1.3. 短信sdk构成1 1.4. 短信的实现1 1.5. SmsServiceY ...

  2. Atitit 修改密码的功能流程设计 attilax总结

    Atitit 修改密码的功能流程设计 attilax总结 1.1. 注意点1 1.2. 设计修改用户密码功能时把用户ID保存在哪里?1 1.3. Ui设计1 1.4. 功能设计源码1 1.5. Agt ...

  3. 用 flow.ci 让 Hexo 持续部署

    编者按:感谢 @小小小杜 投稿,原文链接Juglans' Blog.如果你也想体验 flow.ci 的自动化持续部署,来 http://flow.ci 首页提交申请,邀请码随后会发送到邮箱:) flo ...

  4. javascript_basic_01之概述

    1.javascript组成: ①核心ECMAScript:②文档对象模型DOM(Document Object Model):③浏览器对象模型BOM(Browser Object Model): 2 ...

  5. Java并发包中Semaphore的工作原理、源码分析及使用示例

    1. 信号量Semaphore的介绍 我们以一个停车场运作为例来说明信号量的作用.假设停车场只有三个车位,一开始三个车位都是空的.这时如果同时来了三辆车,看门人允许其中它们进入进入,然后放下车拦.以后 ...

  6. 【转】中间代码opcode的执行

    原文链接:http://www.orlion.ga/941/ 原文:http://www.nowamagic.net/librarys/veda/detail/1543 假如我们现在使用的是CLI模式 ...

  7. C#多线程之旅(3)——线程池

    v博客前言 先交代下背景,写<C#多线程之旅>这个系列文章主要是因为以下几个原因:1.多线程在C/S和B/S架构中用得是非常多的;2.而且多线程的使用是非常复杂的,如果没有用好,容易造成很 ...

  8. Servlet的四种映射模式

    1. 路径匹配模式 <url-pattern>/test/*</url-pattern> 2. 扩展名匹配模式 <url-pattern>*.do</url- ...

  9. 轻松搭建Unity3D 安卓Android开发环境

    1,下载安装Java的JDK: http://www.oracle.com/technetwork/java/javase/downloads/index.html (JDK中,包含JRE) 如果是6 ...

  10. 在Abp中执行sql语句

    目录 前言 最近使用ABP(ASP.NET Boilerplate)做项目,有些查询(或存储过程)直接使用sql语句会更方便一点. 定义一个接口 在Core项目中定义一个接口,如:ISqlExecut ...