项目地址: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. .NetCore~框架版本号不同引起dotnet不能run它

    对于.netCore来说,今年已经推出了正式版,这要求使用vs2015的开发者需要升级到beta3版,而如果使用老版VS开始的.netCore应用程序,它的架构版本将为是测试版"versio ...

  2. 锋利的JQuery —— 事件和动画

    大图猛戳

  3. 模拟淘宝登录和购物车功能:使用cookie记录登录名,下次登录时能够记得上次的登录名,使用cookie模拟购物车功能,使用session记住登录信息并验证是否登录,防止利用url打开网站,并实现退出登录功能

    Login <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnc ...

  4. Mongodb 的基本使用

    一.cmd连接mongodb 服务 进入mongodb的bin目录下:[D:\mongodb3.2.5\bin]$ mongo 127.0.0.1:27017 常用查询: show dbs 查看所有数 ...

  5. asp.net Web.config 在不同版本的IIS配置的IHttpHandler的访问路径,以及经典模式和集成模式不同的配置

    如果IIS7.0使用.net4.0以上版本的框架,<system.web>中的httpHandlers节点就没有用了,而应该使用微软专为.net4.0以上版本设计的新节点<syste ...

  6. LigerUI学习使用

    LigerUI有如下主要特点: 使用简单,轻量级 控件实用性强,功能覆盖面大,可以解决大部分企业信息应用的设计场景 快速开发,使用LigerUI可以比传统开发减少极大的代码量 易扩展,包括默认参数.表 ...

  7. java 显示透明背景png图片

    首先理由ps生成一个背景透明的png图片,然后设置JPanel面板的透明属性,也就是panel.setOpaque(false);设置为透明 class MyPanel extends JLayere ...

  8. Oracle循环语句

    PL/SQL有四种类型的循环:简单循环.WHILE循环.FOR循环以及游标FOR循环.在这里我们主要讨论前三种,除此之外,还将讨论Oracle 11g中新引入的CONTINUE语句. 一. 简单循环 ...

  9. 数据可视化(1)--Chart.js

    Chart.js是一个HTML5图表库,使用canvas元素来展示各式各样的客户端图表,支持折线图.柱形图.雷达图.饼图.环形图等.在每种图表中,还包含了大量的自定义选项,包括动画展示形式. Char ...

  10. Android基于mAppWidget实现手绘地图(六)–如何展示地图对象

    为了展示选中的点,你需要完成以下步骤: 1.创建或者获得一个已经存在的图层 2.创建代表选中点的地图对象 3.把地图对象添加到图层 创建新图层 使用以下代码片段创建图层 int COFFEE_SHOP ...