Board logo

标题: 不得不说,业界毒瘤居然推出了令人惊叹的GraalVM虚拟机 [打印本页]

作者: jun4rui    时间: 2018-4-18 22:07     标题: 不得不说,业界毒瘤居然推出了令人惊叹的GraalVM虚拟机

posted by wap, platform: GOOGLE Nexus 4
GraalVM是Oracle最新的虚拟机项目,旨在成为“多边世界的通用虚拟机”,可以“随时随地运行程序”。

GraalVM的目标是成为一种多语言虚拟机,在编程语言之间具有零开销的互操作性,提供本地映像,并且可以处理各种语言。GraalVM的目标是使用Java / Scala / Kotlin等基于JVM的语言,支持JavaScript和Node.js,还可以处理从C / C ++和Rust等代码库创建的LLVM位代码,并且还支持Ruby / R / Python。

GraalVM也是可嵌入的,可以在OpenJDK内运行,甚至可以在MySQL和Oracle数据库等数据库中运行。对于1.0版本来说,他们说基于JVM的语言支持已经准备就绪,而R / Python / Ruby / LLVM支持被认为是实验性的。

希望了解更多关于GraalVM 1.0的人可以阅读Oracle的声明或直接前往GraalVM.org。代码托管在GitHub上。

我将努力尽快从GraalVM中获得一些基准测试,假设这不是另一个Oracle项目,公司试图在没有批准规则的情况下强制执行没有公开基准的项目。
作者: jun4rui    时间: 2018-4-18 22:09

posted by wap, platform: GOOGLE Nexus 4
官方主页:https://www.graalvm.org/
===========================
官方介绍:

GraalVM是一个通用虚拟机,用于运行使用JavaScript,Python,Ruby,R,基于JVM的语言(如Java,Scala,Kotlin和基于LLVM的语言,如C和C ++)编写的应用程序。

GraalVM消除了编程语言之间的隔离并在共享运行时启用了互操作性。它可以独立运行,也可以在OpenJDK,Node.js,Oracle数据库或MySQL环境中运行。
作者: mting    时间: 2018-4-18 22:56

kubernete 和 docker 已经瓜分了世界
这种东西没有必要在有第三家
作者: verve78    时间: 2018-4-19 00:37

posted by edfc, platform: iPhone 7 Plus
楼上到底懂什么
作者: 青面侠    时间: 2018-4-19 01:34

posted by wap, platform: iPhone
这有用吗?真正的大型软件都得优化配置,不能虚拟机吧。比如windows,office。
作者: masterfish    时间: 2018-4-19 03:53

posted by wap, platform: Android
有个屁用,建议楼主还是关注mozila的webasm技术,这才是理想中的巴别塔。
作者: 加州IT男    时间: 2018-4-19 06:27

TG特色,不管懂不懂反正得先评价一下
作者: catxing    时间: 2018-4-19 08:02

posted by wap, platform: Android
这个帖子的回帖有意思,一层不懂强行评论的夹着懂得但是不评论的,多层夹心

本帖最后由 catxing 于 2018-4-19 08:03 通过手机版编辑
作者: 流浪的枪骑兵    时间: 2018-4-19 10:22

感觉这东西意义不大,需求不强烈
而且现在各种脚本语言解释器都经过无数人验证,换用解释器,随便来几次小问题就让人无心试用了

呵呵,3L的评论我是看不懂
作者: LTFYH    时间: 2018-4-19 10:35

感觉就是一个多语言运行环境,能跑在多种宿主环境上,以后可以用c写的程序直接跑在JAVA环境里?不知道效率如何。
作者: jun4rui    时间: 2018-4-19 10:40

posted by wap, platform: iPhone
引用:
原帖由 @LTFYH  于 2018-4-18 14:35 发表
感觉就是一个多语言运行环境,能跑在多种宿主环境上,以后可以用c写的程序直接跑在JAVA环境里?不知道效率如何。
还有互操作性。例如我不会写Python,但是我想用Python的一个库,这个玩意就可以让我会的Java调用Python的库
作者: 卖哥    时间: 2018-4-19 10:45

posted by wap, platform: Meizu M9
意义不大。
解释执行语言本来就方便跨平台使用,虚拟机本来就不缺一堆open开头的,为啥去舔毒瘤?
作者: 流浪的枪骑兵    时间: 2018-4-19 10:49

引用:
原帖由 jun4rui 于 2018-4-19 10:40 发表
posted by wap, platform: iPhone
还有互操作性。例如我不会写Python,但是我想用Python的一个库,这个玩意就可以让我会的Java调用Python的库
你确定这点可以做到?
我这边手头项目里面有javascript和c++互调,每次写接口的时间比写实现的时间还要长。
如果这东西能方便的实现互操作性,那倒真有意思,但我觉得很难啊。
作者: LTFYH    时间: 2018-4-19 10:51

就算能调,估计也需要接口声明之类的 ,可能会简化点
作者: catxing    时间: 2018-4-19 11:07

posted by wap, platform: Android
引用:
原帖由 @流浪的枪骑兵  于 2018-4-19 10:22 发表
感觉这东西意义不大,需求不强烈
而且现在各种脚本语言解释器都经过无数人验证,换用解释器,随便来几次小问题就让人无心试用了

呵呵,3L的评论我是看不懂
3楼把脚本语言虚拟机和主机虚拟化混起来了,然后高呼容器方案替代主机虚拟化,kubernetes他还漏了个s,233
作者: 流浪的枪骑兵    时间: 2018-4-19 11:09

引用:
原帖由 catxing 于 2018-4-19 11:07 发表
posted by wap, platform: Android
3楼把脚本语言虚拟机和主机虚拟化混起来了,然后高呼容器方案替代主机虚拟化,kubernetes他还漏了个s,233
谢谢,这么一说我才看明白,刚才看到3L发言,有一种走错片场的感觉
作者: 安卓爱好者    时间: 2018-4-19 12:08

posted by edfc, platform: iPhone X
很好,这又是虚拟机的胜利。

作者: somesun    时间: 2018-4-19 12:16

posted by wap, platform: Android
现在各平台互调不难吧, 暴露出http rest接口就是
作者: 安卓爱好者    时间: 2018-4-19 12:21

posted by edfc, platform: iPhone X
引用:
原帖由 somesun 于 2018-4-19 12:16 发表
posted by wap, platform: Android
现在各平台互调不难吧, 暴露出http rest接口就是
起码要到ABI层级
作者: jun4rui    时间: 2018-4-19 13:32

posted by wap, platform: iPhone
引用:
原帖由 @流浪的枪骑兵  于 2018-4-18 14:49 发表
你确定这点可以做到?
我这边手头项目里面有javascript和c++互调,每次写接口的时间比写实现的时间还要长。
如果这东西能方便的实现互操作性,那倒真有意思,但我觉得很难啊。
官方网站还是知乎上就贴了一个demo,一个很小的js程序用express,然后里面调用了java和R语言的功能
作者: jun4rui    时间: 2018-4-19 13:35

posted by wap, platform: iPhone
引用:
原帖由 @somesun  于 2018-4-18 16:16 发表
现在各平台互调不难吧, 暴露出http rest接口就是
上官方网站抓了个图给你看看,这就是我前面说的,在javascript下用express框架,里面调用java和R的例子,这只是其中的一个特性。
作者: 流浪的枪骑兵    时间: 2018-4-19 13:38

引用:
原帖由 jun4rui 于 2018-4-19 13:32 发表
posted by wap, platform: iPhone
官方网站还是知乎上就贴了一个demo,一个很小的js程序用express,然后里面调用了java和R语言的功能
嗯,看到了,从这个例子来看,这样调用感觉还可以。这样看来这个东西还是有点意思。
https://github.com/shelajev/graa ... pt-java-r/server.js
作者: somesun    时间: 2018-4-19 15:26

posted by wap, platform: iPad
引用:
原帖由 @jun4rui  于 2018-4-19 13:35 发表
上官方网站抓了个图给你看看,这就是我前面说的,在javascript下用express框架,里面调用java和R的例子,这只是其中的一个特性。
有个人特殊需求可以考虑, 但我觉得在实际工作项目中可能实用性不大

因为一般小型类库都是各语言到处移植的

真因为这个语言搞不出来, 非要用到其他语言的某个库, 最佳方式还是使用rest接口隔离, 这样在部署方面也好处理, 难道把这虚拟机部署到生产环境
作者: aiboers110    时间: 2018-4-19 15:35

posted by wap, platform: Android
性能提高大吗
作者: 流浪的枪骑兵    时间: 2018-4-19 15:40

引用:
原帖由 somesun 于 2018-4-19 15:26 发表
posted by wap, platform: iPad
有个人特殊需求可以考虑, 但我觉得在实际工作项目中可能实用性不大

因为一般小型类库都是各语言到处移植的

真因为这个语言搞不出来, 非要用到其他语言的某个库, 最佳方式还是使 ...
rest方式通用性毫无问题,但性能损失太大了,至少对嵌入式环境来说,不是一个好的选择
作者: jun4rui    时间: 2018-4-19 16:19

posted by wap, platform: iPhone
引用:
原帖由 @somesun  于 2018-4-18 19:26 发表
有个人特殊需求可以考虑, 但我觉得在实际工作项目中可能实用性不大

因为一般小型类库都是各语言到处移植的

真因为这个语言搞不出来, 非要用到其他语言的某个库, 最佳方式还是使用rest接口隔离, 这样在部署方面也好处理, 难道把这虚拟机部署到生产环境
实际中当然没有实用性,以前以前根本没有类似的玩意,所以架构上也不会考虑这样设计。

现在有了,以后就不好说了。实际上前面楼层有人说的webasm,现在也在做不同语言的互操作,以后可能多语言互操作是常态。

另外这个还有本地化和嵌入式的特点




欢迎光临 TGFC Lifestyle (http://club.tgfcer.com/) Powered by Discuz! 6.0.0