[@炯轩][¥20]面对即将发布的php jit版本,会大大的增加php的运行效率,java会做这方面的探索吗-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

[@炯轩][¥20]面对即将发布的php jit版本,会大大的增加php的运行效率,java会做这方面的探索吗

2018-11-30 13:13:54 1517 2

面对即将发布的php jit版本,会大大的增加php的运行效率,java会做这方面的探索吗

问题来自Java技术沙龙的金超健
Java线下沙龙报名链接:https://yq.aliyun.com/activity/796

取消 提交回答
全部回答(2)
  • 炯轩
    2019-07-17 23:17:25
    已采纳

    作为Android移动端和准前端的研发,可能我并非PHP问题的最佳回答者。不过我可以试着从自己对 Java 和 Android 的理解,来解答您的问题。

    考虑到 Java 在很早以前就支持了 JIT(Just In Time),性能收益、稳定、成熟度都得到了大量的验证,所以我理解您提到的“Java 会做这方面的探索吗”,应该针对的是“Java 是否还会进一步优化性能,以使得自己更有竞争力”吧。

    我的答案是,会的,而且在持续进行。

    例如最新的 Java 10,引入了一种叫“应用类数据共享”——Class Data Share 特征。一句话概括,就是允许多个进程「共用」「应用」的ClassLoader(原来是每个 JVM 进程一个,除了系统的 BootClassLoader 外),这不仅能显著提高启动时间,还能有效减少内存占用。而且更奇妙的是,整个过程可以做到「近乎无感知」,都是由 JVM 自行分析来实现。当然,CDS 的功用不仅于此。

    此外,Java 9 引入了 Android 在几年前就有的 AOT(Ahead Of Time)能力,可以在运行前(例如安装过程中)就做一次“预编译”,编译成机器码并直接运行(近似于 C++ 编译的应用),基本上干掉了以前的“运行期解释”过程(当然,从 Android 7.0 版本开始,为了安装速度考虑而做了些优化)。而 Java 10 还进一步引入了新的 JIT 编译器 —— Graal,其灵活的模块架构、高可维护性,使其带上了“未来能和C++性能比肩”的光环。

    其实,参考下 Android 的经验就会发现,作为移动设备的「头牌」平台,Android 可以说是「Java 性能」的极致优化的体现。例如:用「Fork」来创建 JVM 进程,省去了 JVM 和 Android 系统类的初始化时间;最早引入了 Dalvik、ART,进一步降低内存占用和功耗,等等不一而足。而看到了 Android 对低端设备的性能的努力,就能看到 Java 未来的性能方向。

    补充:如果从「更长远」的时间线上考虑,随着硬件性能的不断提升,成本的不断降低,也许有一天,性能问题将不再成为问题。一如现在「动态化」和 H5 会成为主流一样(而在当年,就性能问题而言,想都不敢想)。也许10年后回看今天(的历史),会感觉非常有意思吧。共勉。

    1 0
  • 孟志昂
    2019-07-17 23:17:25

    PHP 7 之后会有什么 —— JIT
    这是一个十分值得我们期待的版本,目前由 Zend 引擎的 Dmitry Stogov 主导。虽然它是基于 PHP 7.1 版本,但实际版本号尚未确定。

    JIT 是什么?为什么是 JIT?
    JIT (Just-In- Time 即时编译) 并非是新技术,很多语言例如 Java 早已实现。JIT 的思想很简单,即在程序运行时动态对程序进行编译,生成平台相关的机器码(比如运行它的机器 CPU 的本地代码),从而加快程序的运行速度。

    为什么是 JIT?

    不妨先来看看 PHP 文件的执行流程。PHP 文件的执行流程大致是首先引擎加载 PHP 文件,解释器逐条解释执行代码。

    引入 JIT 后,前面部分一样,重点是 JIT 编译器会根据 Runtime 信息对热点代码进行动态编译生成机器码,此后这部分代码就可以直接执行,不再需要解释器逐条解释执行,因此运行效率会得到提升。

    0 0
添加回答
相关问答

40

回答

[@徐雷frank][¥20]什么是JAVA的平台无关性

大河人家 2018-10-29 23:55:20 144734浏览量 回答数 40

162

回答

惊喜翻倍:免费ECS+免费环境配置~!(ECS免费体验6个月活动3月31日结束)

豆妹 2014-10-29 17:52:21 226162浏览量 回答数 162

145

回答

【新手入门】云服务器linux使用手册

fanyue88888 2012-11-26 17:14:18 157701浏览量 回答数 145

8

回答

OceanBase 使用动画(持续更新)

mq4096 2019-02-20 17:16:36 337017浏览量 回答数 8

13

回答

[@饭娱咖啡][¥20]我想知道 Java 关于引用那一块的知识

心意乱 2018-10-31 18:44:12 142461浏览量 回答数 13

110

回答

OSS存储服务-客户端工具

newegg11 2012-05-17 15:37:18 295560浏览量 回答数 110

22

回答

爬虫数据管理【问答合集】

我是管理员 2018-08-10 16:37:41 147243浏览量 回答数 22

18

回答

阿里云开放端口权限

xcxx 2016-07-20 15:03:33 646803浏览量 回答数 18

31

回答

[@倚贤][¥20]刚学完html/css/js的新手学习servlet、jsp需要注意哪些问题?

弗洛伊德6 2018-10-27 21:52:43 146045浏览量 回答数 31

249

回答

阿里云LNAMP(Linux + Nginx + Apache + MySQL + PHP)环境一键安装脚本

云代维 2014-02-14 15:26:06 305641浏览量 回答数 249
+关注
管理贝贝
静静的看着你们
60
文章
602
问答
问答排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载