JPHP最新进展 v0.6
项目地址: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上运行。
- 支持: JDK 1.6+ (OpenJDK, Oracle)
- 技术支持论坛: https://groups.google.com/d/forum/jphp-compiler
定位
JPHP不是Zend PHP 引擎或者Facebook HHVM的替代品。我们没有想过让JPHP实现整个zend运行库,如Curl、PRCE等。
我们的项目开始于2013年10月。其创建原因:
- 以PHP语言使用java的库
- 通过JIT及JVM提升PHP性能
- 把Zend 这样丑陋的运行时库替换成更好的运行时库
- 让PHP语言不仅仅在web领域使用
- 字符串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)
文档
- 最新文档在这: http://jphp-docs.readthedocs.org/
- 你来贡献文档: fork 它: https://github.com/jphp-compiler/docs
JPHP最新进展 v0.6的更多相关文章
- paper 91:边缘检测近期最新进展的讨论
VALSE QQ群对边缘检测近期最新进展的讨论,内容整理如下: 1)推荐一篇deep learning的文章,该文章大幅度提高了edge detection的精度,在bsds上,将edge detec ...
- paper 90:人脸检测研究2015最新进展
搜集整理了2004~2015性能最好的人脸检测的部分资料,欢迎交流和补充相关资料. 1:人脸检测性能 1.1 人脸检测测评 目前有两个比较大的人脸测评网站: 1:Face Detection Data ...
- Graph 卷积神经网络:概述、样例及最新进展
http://www.52ml.net/20031.html [新智元导读]Graph Convolutional Network(GCN)是直接作用于图的卷积神经网络,GCN 允许对结构化数据进行端 ...
- SQL on Hadoop系统的最新进展(1)
转自:http://blog.jobbole.com/47892/ 为什么非要把SQL放到Hadoop上? SQL易于使用.那为什么非得基于Hadoop呢?the robust and scalabl ...
- R-Tree空间索引算法的研究历程和最新进展分析
转自原文 R-Tree空间索引算法的研究历程和最新进展分析,2008 摘要:本文介绍了空间索引的概念.R-Tree数据结构和R-Tree空间索引的算法描述,并从R-Tree索引技术的优缺点对R-Tre ...
- DataPipeline丨LinkedIn元数据之旅的最新进展—Data Hub
作者:Mars Lan, Seyi Adebajo, Shirshanka Das 译者: DataPiepline yaran 作为全球最大的职场社交平台,LinkedIn的数据团队不断致力于扩展其 ...
- 国浩:Cassandra在360的最新进展
大家好,我是来自奇虎360的国浩.今天我给大家带来的是Cassandra在360的最新进展. 我会从四个方面来介绍Cassandra在360的应用情况:Cassandra在360的使用历史再结合两个案 ...
- 官宣 MAUI 在.NET Preview 3的最新进展
我们在.NET 6 Preview 3中交付了.NET多平台应用UI的移动和桌面开发的最新进展.此版本添加了Windows平台和WinUI 3,改进了基本应用程序和启动构建器,添加了原生生命周期事件, ...
- Restful.Data 开源持久层组件项目最新进展和使用说明
Restful.Data 经过 博客园 和 CSDN 的宣传,目前参与该项目的人数已达到 114 人(群号:338570336),虽大部分并不参与实际开发,但他们所提出的意见和建议以及在试用过程中发现 ...
随机推荐
- eclipse打包apk
eclipse打包apk
- js设置自动刷新
如何实现刷新当前页面呢?借助js你将无所不能. 1,reload 方法,该方法强迫浏览器刷新当前页面.语法:location.reload([bForceGet]) 参数: bForceGet, ...
- Sublime快速上手
在当前的互联网时代,任何程序语言和相关技术都只是实现互联网应用的一种手段,这也就造成了大量的互联网工程师长期与不同的语言.技术.系统环境.IDE等打交道.因此一个相对统一方便的IDE对于程序员来说显得 ...
- Java并发包中CyclicBarrier的工作原理、使用示例
1. CyclicBarrier的介绍与源码分析 CyclicBarrier 的字面意思是可循环(Cyclic)使用的屏障(Barrier).它要做的事情是,让一组线程到达一个屏障(也可以叫同步点)时 ...
- HTML5横竖屏提示
HTML代码: <div class="screen-prompt"></div> CSS判断代码: /*横竖屏提示*/ @media screen and ...
- js实现打开本地文件或文件夹
原网址:http://blog.csdn.net/cofesun/article/details/7904887javascript有个特殊的对象ActiveXObject,通过它可以访问window ...
- java中TreeSet集合如何实现元素的判重
/* 看一下部分的TreeSet源码.... public class TreeSet<E> extends AbstractSet<E> implements Navigab ...
- 如何利用Direct NFS克隆数据库
CloneDB是Oracle 11.2.0.3推出的一项新特性,它利用的了11g新引入的Direct NFS.它直接利用目标数据库的备份,无需将备份COPY到克隆环境下,使得一个备份可以克隆多个不同用 ...
- [转载]TFS与Project、Excel同步
我们还可以使用Microsoft Excel和Microsoft Project来连接到TFS,方法如下: 通过Microsoft Excel连接到TFS,在安装了Team Explorer后,Mic ...
- REST API出错响应的设计
REST API应用很多,一方面提供公共API的平台越来越多,比如微博.微信等:一方面移动应用盛行,为Web端.Android端.IOS端.PC端,搭建一个统一的后台,以REST API的形式提供服务 ...