资讯专栏INFORMATION COLUMN

解密新一代 Java JIT 编译器 Graal

wangdai / 2267人阅读

摘要:缺陷旧代码难以扩展和维护使用更多的内联函数,开发成本太大。具体解释第二点缺陷启动的时候会检测运行在哪个处理器上,并且更具特定的处理器生成特定的内联函数表,极大的运用了硬件的能力。更快的新编译器功能原型设计。编译器可以独立于。

本文思路很清晰,分两步走。第一步,老的即时编译的缺陷导致新的编译器孕育而生。第二步,具体讲解Graal编译器的特性。

老即时编译 流程

先启动解释编译,分析出解释多次的代码,使用c1编译器进行编译,再次分析c1编译器编译多次的代码,使用c2编译器进行编译。

c2编译器是最重要的一环,因为c2编译出高度优化的机器码。
缺陷

1.旧代码难以扩展和维护
2.使用更多的JVM内联函数,开发成本太大。

具体解释第二点缺陷

JVM启动的时候会检测运行在哪个处理器上,并且更具特定的处理器生成特定的内联函数表,极大的运用了硬件的能力。这样就导致对于特定的处理器需要特定的内联表函数,就需要更多的内联函数。所以导致开发成本和维护成本大。

新即时编译 目标

更好的编译Java代码,那么出发点就是JIT就是将字节码转换为机器码,在Java中就是从byte[]转到另外一个byte[],那么转换代码可不可以用java来写。

优势

工程师开发新编译器的进入门槛要低得多。

编译器的内存安全性。

能够利用成熟的 Java 工具进行编译器开发。

更快的新编译器功能原型设计。

编译器可以独立于 HotSpot。

编译器能够自己编译自己,以生成更快的 JIT 编译版本。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/73427.html

相关文章

  • JDK10 EA版特性速览

    摘要:今天收到一封邮件组的邮件,是关于的,版将作为第一个的版。版特性包括挑了感兴趣的看了下,包括以下通过使用并行来改进最坏情况下的延迟。虽然式设计成避免的,但有些情况下回收器会降级成。 今天收到一封邮件组的邮件,是关于JDK 10 First Release Candidate的, JDK10 b43版将作为第一个JDK10的RC版。 b43版特性包括: 286: Local-Variabl...

    Xufc 评论0 收藏0
  • Java 10的10个新特性,将彻底改变你写代码的方式!

    摘要:的新特性说了这么多,看都会有哪些特性来改变我们写代码的方式呢局部变量类型推断局部变量类型推断可以说是中最值得注意的特性,这是语言开发人员为了简化应用程序的编写而采取的又一步,如下图所示。 showImg(https://segmentfault.com/img/remote/1460000015356980); Java 9才发布几个月,很多玩意都没整明白,现在Java 10又快要来了...

    ityouknow 评论0 收藏0
  • 局部性原理——各类优化的基石

    摘要:基于局部性原理,计算机处理器在设计时做了各种优化,比如现代的多级分支预测有良好局部性的程序比局部性差的程序运行得更快。目前计算机设计中,都是以块页为单位管理调度存储,其实就是在利用空间局部性来优化性能。   学过计算机底层原理、了解过很多架构设计或者是做过优化的同学,应该很熟悉局部性原理。即便是非计算机行业的人,在做各种调优、提效时也不得不考虑到局部性,只不过他们不常用局部性一词。如果...

    MadPecker 评论0 收藏0
  • JVM JIT编译能改变某些反射的执行结果

    摘要:某个测试服务器试图通过反射来修改变量的值,出现了时灵时不灵的现象。这个阈值随时会变,只是测着玩的编译是可以取消的,现在修改如下,在用反射设值后,再次执行万次直接取值现在的执行结果又是了。结论不要修改变量,会出问题的关于编译期优化的更多知识 某个测试服务器试图通过反射来修改static final变量的值,出现了时灵时不灵的现象。 开发环境无法重现。这是怎么回事呢? 先介绍背景知识 一般...

    lcodecorex 评论0 收藏0
  • 【天赢金创】PHP7与Swoole

    摘要:但在密集计算方面比等静态编译语言差几十倍甚至上百倍。一使用栈内存在引擎和扩展中,经常要创建一个的变量,底层就是一个指针。代码中创建的变量也进行了优化,直接在栈内存上预分配。应用层与底层在错误抛出的方式全部统一为异常。 原文:http://rango.swoole.com/archives/440最近PHP官方终于发布了传说中的PHP7,虽然只是alpha版。PHP7号称是新一代的PHP...

    MingjunYang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<