初探Oracle全栈虚拟机---GraalVM

 

官方说明:

GraalVM是一个生态系统和共享运行时,不仅提供基于JVM的语言(如Java,Scala,Groovy和Kotlin)的性能优势,还提供其他编程语言(如JavaScript,Ruby,Python和R)的性能优势。此外,它还支持通过LLVM前端在JVM上执行本机代码。GraalVM 1.0基于JDK 8。

 

上图说明了GraalVM作为开放式生态系统的体系结构。

虚拟化层代表GraalVM提供的编程语言。客户编程语言(即JavaScript,Ruby,R,Python和LLVM bitcode)在与基于主机JVM的应用程序相同的运行时中的执行现在是脚踏实地的。宿主语言和客户语言可以直接相互操作,并在同一存储空间中来回传递数据。

底部展示了适用范围。GraalVM既可以独立运行,也可以作为OpenJDK或node.js平台的一部分进行嵌入,甚至可以嵌入MySQL或Oracle RDBMS等数据库中

GraalVM 1.0版本包含语言解释器:

  • 基于JVM的语言,如Java,Scala,Groovy或Kotlin
  • JavaScript(包括node.js)
  • 编译为LLVM bitcode的语言,如C,C ++或Rust
  • Ruby,R和Python的实验版本

GraalVM包括以下组件:

  • Graal:一种动态即时(JIT)编译器,通过独特的代码分析和优化方法提高应用程序的效率和速度。
  • Graal Polyglot API:用于在共享运行时中组合编程语言的API。这些API允许您根据需要匹配编程语言,并使用更少的资源为您提供更好的性能。
  • Graal SDK:一组用于嵌入Graal语言和配置本机映像的API。
  • Oracle HotSpot Java虚拟机(JVM):基于JVM的语言和支持的客户编程语言的运行时环境。

ShowTime:

  配置篇:

  看完了激动人心的介绍之后,我果断选择了前去尝试。作为一个重度java患者,对于Oracle的东西还是比较有兴趣的。下面是他的官网,长这个样子,总体来说,UI设计师还是不错的。至少我喜欢这个风格。

  我们继续顺着首页向下看。官网以一段Node代码,向我们展示了,GraalVM的优越性,我们可以很明显的发现,在这段代码中我们兼容了3种不同的语言。为我们提供了极大的便利性。

  接下来,我们介绍下,java方面的优化,GraalVM允许您提前将程序编译为本机可执行文件。生成的程序不在Java HotSpot VM上运行,而是使用必要的组件,如内存管理,来自虚拟机的不同实现的线程调度,称为Substrate VM。Substrate VM是用Java编写的,并编译成本机可执行文件。与Java VM相比,生成的程序具有更快的启动时间和更低的运行时内存开销。

  这张图中我们,很明显的看到,java的编译时间被缩短了,14倍。当然这是它官方提供的数据。一切以我之后的测试数据为准。

  说了这么多,越说越激动,我迫不及待的下载了,这个东西了。去了趟官网。这家伙提供了社区版和企业版,我第一次尝试的是社区版,然后很不负众望的失败了。后面我果断百度了下,度娘也不是万能了,大多数“玩家”用的都是Mac这让我很头疼。不过索性我在官方的文档上面找到了解决方法。

  

  在官网注册账号成功之后,会自动下载,然后我把它拖到了,我的虚拟机中。

  然后执行如下操作:

  1.随意选择一个文件夹,执行解压命令,会看到一堆解压的数据。如果桌面上出现图三的文件夹则标志着成功。

        

       

       

                                                                  图三

  2.接下来为这个虚拟机配置运行环境,因为我是linux的系统,所以我就选择了第一行的配置项目。格式如下:

复制代码
export PATH=/path/to/graalvm/bin:$PATH
复制代码

 在我的机器上配置出来的效果是:

    其中:/home/gjt/Desktop/graalvm-ee-1.0.0-rc4/bin是我的安装路径。

复制代码
export PATH=/home/gjt/Desktop/graalvm-ee-1.0.0-rc4/bin:$PATH
复制代码

   出现如下界面,即为配置成功。

  操作篇:

  做完了,虚拟机的配置,接下来就是针对基础代码的测试了。

  java代码:

  执行新增命令,打开一个文件。

  

关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信