强大的GraalVM的虚拟机

一、前言
随着的Java的更新迭代,目前java的最新版本在Java16并且Java17马上发布,而且有望使用Java17这个长期支持的版本替换目前的Java8.不过最近浏览Oracle官网的时候发现了一个的Java虚拟机也是Oracle实验室觉得自己作为一个Java的开发工程师么为啥才知道。

二、GraalVM虚拟机
先看下官方网站的介绍:
GraalVM is a high-performance runtime that provides significant improvements in application performance and efficiency which is ideal for microservices. It is designed for applications written in Java, JavaScript, LLVM-based languages such as C and C++, and other dynamic languages. It removes the isolation between programming languages and enables interoperability in a shared runtime.
官网描述的比较简单只是介绍了GraalVM 是一个性能非常高的JVM,并且非常适合微服务的JVM,它能同时支持JavaScript、LLVM、C++的运行消除语言之间的隔离并在运行时实现了相互操作的能力.看起来其实官方介绍的信息不是很多但是不得不说 GraalVM虚拟机想成为一统天下的最终虚拟机,建立在语言之上的虚拟机。其实大部分的脚本语言或者有动态特效的语言都需要一个语言虚拟机运行,比如CPython,Lua,Erlang,Java,Ruby,R,JS,PHP,Perl,APL等等,但是这些语言的虚拟机水平,对,就是具体的实现,差距很大,比如CPython的VM就不忍直视,JVM的HotSpotVM,C#的CLR和JS的v8却是state of the art级别,那么能不能付出较小努力,用一个state of the art的虚拟机,来运行这些语言,让它们享受该虚拟机的一些工匠特性,比如gc,锁,jit等?
下图是一张GraalVM的生态支持
在这里插入图片描述

从生态中看到GraalVM虚拟机正在慢慢减少语言之间的隔离感,可以说是一个全栈虚拟机。

三、GraalVM的优势
GraalVM的优势其实很明显最近看到一篇文章,对比目前最热的GO微服务和Java微服务的性能(我也看到这个文章才深入了解这个虚拟机的)总比来说在使用GraalVM虚拟机的情况下性能略强GO。

  • 运行更快:对于现有的Java应用程序,GraalVM可以通过更快地运行它们,通过脚本语言提供可扩展性或创建提前编译的本机映像来提供好处
  • 让你的应用程序扩展:GraalVM支持在Java应用程序的上下文中运行JavaScript,R,Python,Ruby,LLVM IR和Web程序集。它提供了使用细粒度的主机访问过滤器向那些语言公开Java数据结构的功能。集成是与语言无关的,即,JavaScript的集成也可以在以后用于执行任何其他基于GraalVM的语言。代理机制允许从Java数据结构中模拟动态对象,并将其公开给嵌入式脚本。看看说明如何使您的基于JVM的应用程序扩展与GraalVM。
  • 重用Java,R或Python中的库:GraalVM支持直接从Node.js使用现有的Java库或Java框架(例如Spark或Flink)。同样,例如,可以将R或Python用于数据科学或直接从JavaScript应用程序进行绘图。在此处查找多语言应用程序的示例。
  • 大堆运行:标准Node.js发行版中包含的V8 JavaScript引擎针对浏览器配置进行了调整,并旨在在小堆场景中有效地工作。我们支持通过JVM的堆管理运行Node.js,从而为大型堆配置和适当的垃圾收集设置提供了能力。带有压缩的32位指针的最大可配置堆大小为32 Gb,并且64位指针配置支持TB的堆。
  • 对于微服务框架(重点来了):GraalVM虚拟机可以说是Java微服务的福音,现在Java的微服务开发是基于Spring-boot作为微服务组件,但是Spring-boot带来的快速开发的同时存在的问题就是内存占用更高,但是使用GraalVM虚拟机运行Java代码会相对于与在HotSpot上运行相比,GraalVM本机映像显着降低了运行时内存需求。相信GraalVM本机映像技术可以成为部署云本机应用程序的最佳方法。目前:Quarkus,Micronaut和Helidon都已经接受了这款虚拟机
  • 在这里插入图片描述
    在这里插入图片描述

四、小总结
GraalVM虚拟机虽然依然处于开发中,但是目前官方已经给出了社区版以及容器镜像供大家免费使用.作为一门语言Java已经是很古老了,但是Java确实是一门革命性的语言,现在依然保持着活力,作为一个Java工程师当然希望自己热爱的语言保持着年轻的活力.随着Fuction as a Service(无服务计算)的趋势,GraalVM 虚拟机也许会替换掉年老的且伟大的HotSpot虚拟机,随着Spring社区的推动GraalVM 会慢慢进入更多Java开发者的视野。
附上官网地址供大家参考学习了解下一代Java虚拟机GraalVM

https://www.graalvm.org/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值