有事!速来!《深入理解Java虚拟机》作者周志明!今晚首次直播

网上每隔一段时间就能见到几条“未来X语言将会取代Java”的新闻,此处“X”可以用Kotlin、Golang、Dart、JavaScript、Python……等各种编程语言来代入。这大概就是长期占据编程语言榜单第一位的烦恼,天下第一总避免不了挑战者相伴。

如果Java有拟人化的思维,它应该从来没有惧怕过被哪一门语言所取代,Java“天下第一”的底气不在于语法多么先进好用,而是来自它庞大的用户群和极其成熟的软件生态,这在朝夕之间难以撼动。不过,既然有那么多新、旧编程语言的兴起躁动,说明必然有其需求动力所在,譬如互联网之于JavaScript、人工智能之于Python,微服务风潮之于Golang等等。大家都清楚不太可能有哪门语言能在每一个领域都尽占优势,Java已是距离这个目标最接近的选项,但若“天下第一”还要百尺竿头更进一步的话,似乎就只能忘掉Java语言本身,踏入无招胜有招的境界。

2018年4月,Oracle Labs新公开了一项黑科技:Graal VM,从它的口号“Run Programs Faster Anywhere”就能感觉到一颗蓬勃的野心,这句话显然是与1995年Java刚诞生时的“Write Once,Run Anywhere”在遥相呼应。

Graal VM被官方称为“Universal VM”和“Polyglot VM”,这是一个在HotSpot虚拟机基础上增强而成的跨语言全栈虚拟机,可以作为“任何语言”的运行平台使用,这里“任何语言”包括了Java、Scala、Groovy、Kotlin等基于Java虚拟机之上的语言,还包括了C、C++、Rust等基于LLVM的语言,同时支持其他像JavaScript、Ruby、Python和R语言等等。Graal VM可以无额外开销地混合使用这些编程语言,支持不同语言中混用对方的接口和对象,也能够支持这些语言使用已经编写好的本地库文件。

Graal VM的基本工作原理是将这些语言的源代码(例如JavaScript)或源代码编译后的中间格式(例如LLVM字节码)通过解释器转换为能被Graal VM接受的中间表示(Intermediate Representation,IR),譬如设计一个解释器专门对LLVM输出的字节码进行转换来支持C和C++语言,这个过程称为“程序特化”(Specialized,也常称为Partial Evaluation)。Graal VM提供了Truffle工具集来快速构建面向一种新语言的解释器,并用它构建了一个称为Sulong的高性能LLVM字节码解释器。

以更严格的角度来看,Graal VM才是真正意义上与物理计算机相对应的高级语言虚拟机,理由是它与物理硬件的指令集一样,做到了只与机器特性相关而不与某种高级语言特性相关。Oracle Labs的研究总监Thomas Wuerthinger在接受采访时谈到:“随着Graal VM 1.0的发布,我们已经证明了拥有高性能的多语言虚拟机是可能的,并且实现这个目标的最佳方式不是通过类似Java虚拟机和微软CLR那样带有语言特性的字节码”。对于一些本来就不以速度见长的语言运行环境,由于Graal VM本身能够对输入的中间表示进行自动优化,在运行时还能进行即时编译优化,往往使用Graal VM实现能够获得比原生编译器更优秀的执行效率,譬如Graal.js要优于Node.js、Graal.Python要优于CPtyhon,TruffleRuby要优于Ruby MRI,FastR要优于R语言等等。

针对Java而言,Graal VM本来就是在HotSpot基础上诞生的,天生就可作为一套完整的符合Java SE 8标准Java虚拟机来使用。它和标准的HotSpot差异主要在即时编译器上,其执行效率、编译质量目前与标准版的HotSpot相比也是互有胜负。但现在Oracle Labs和美国大学里面的研究院所做的最新即时编译技术的研究全部都迁移至基于Graal VM之上进行了,其发展潜力令人期待。如果Java语言或者HotSpot虚拟机真的有被取代的一天,那从现在看来Graal VM是希望最大的一个候选项,这场革命很可能会在Java使用者没有明显感觉的情况下悄然而来,Java世界所有的软件生态都没有发生丝毫变化,但天下第一的位置已经悄然更迭......

直播预告

6月17日,今晚7点,

周志明老师,为你分享Oracle 最新 JVM 技术Graal VM:云原生时代的Java。

直播内容

1.新一代即时编译器

2.向原生迈进

3.没有虚拟机的Java

4.Spring over Graal

讲师介绍

周志明,资深Java技术专家-机器学习技术专家和企业级开发技术专家,现任远光软件研究院院长。

开源技术的积极倡导者和推动者,对计算机科学相关的多个领域都有深刻的见解,尤其是人工智能-Java技术和敏捷开发等,对虚拟机技术有非常深入的研究。

已正式出版过七部计算机技术书籍,撰写过两部开源文档,口碑和销量均有幸得到读者的认可。其中四本书在豆瓣上获得了9.0分或以上的评价,“深入理解Java虚拟机”系列重印超过40次,总销量逾30万册。

直播间获取

公号后台回复"JVM”获取直播间地址,

扫码加入群聊,参与粉丝福利活动

福利时间

1、直播间邀请榜。进入直播间,在“聊天互动”区点击【邀请】,生成本人专属海报,分享给朋友。

邀请榜前5名:可获得价值999元华章电子书VIP年卡,可在一年内免费阅读华章经管、心理、计算机千余种优质电子书。

邀请榜6-10名:可获赠周志明推荐甄选好书

 (*邀请榜以直播结束时间的排行为准)

 2.直播期间,直播间将在互动区开展抽奖活动,有机会获得价值999元的电子书年卡及周志明甄选图书。参与方式详见直播间互动区。

*以上福利同一人(相同微信号、手机号、地址)不可重复参与,具体领奖事宜请进直播间,在互动区扫码入群获取。

更多精彩回顾

书讯 | 6月书讯 (上)| 初夏已至,书香有约,六月宜静心读书
上新 | 周志华领衔撰写,历时4年,宝箱书问世!
书单 | 创建字节跳动之前,张一鸣读过哪些硬核技术书?

干货 | 想入门深度学习?你需要先搞懂这三个问题

收藏 | TIOBE 6 月编程语言排行榜:C 与 Java 进一步拉开差距、Rust 跃进 TOP 20


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值