直接充电您的大脑! Joker 2018的运行时,编译器和性能

我们中的许多人仅仅因为刻苦而参加Java会议。 本文介绍了过去一年中在这方面发生了什么变化。


铁杆可以有几种类型。 您至少可以选择:


  • 在任何表现形式上的性能优化;
  • 相当复杂的技术(OpenJDK,GraalVM)的内部;
  • 一般而言,编译器和运行时;
  • 编程语言设计;
  • 计算机科学和应用数学问题;
  • 还有更多。



定期谈话和硬核谈话有什么区别? 这就像有关量子引力的文章和美味健康食品指南之间的区别。 当然,正确地准备Spring是一项非常困难且有趣的任务,对我们许多人而言,这是日常任务的很大一部分,因此,Zhenya Borisov的报告具有重大的现实意义。 粗略地说,这是一种成为更好的专家并筹集更多资金的方法。 但是,远处的星星没有闪闪发光。


因此-根据老派的传说只有铁杆。 删节部分是一个简短的注释,它从一个痴迷于阅读文章,访问报告以及在Java上广义地观看YouTube视频的人的角度来看这一切。


首先,许多人根本不去看报告,也不看技术开发人员的视频。 当然,这是完全的垃圾,因为只有从那里您才能获得真正有活力的硬核。 没人需要瘦的铁杆!


对我来说,主要的信息来源是各种OpenJDK项目的邮件列表,对存储库的提交,在GitHub上的通知,开发人员的高音喇叭和RSS项目。


通常,这是实时信息,不会以任何方式进行系统化,并且会花费很长时间。 要在“松露”字母中添加“永恒”一词,您需要花费大量时间和精力。 我睡了几个小时-那里的电话已经编号了:



因此,有一些特殊的注定要死的人-Java集线器中心作者-会阅读所有这些内容,将其打包成含义单位,并根据这些内容撰写文章和报告。


另一方面,我曾经结识JUG.ru集团会议并陷入困境。 卡住了,他甚至来这里工作。 很快,我将与公司一起庆祝这一年。 需要进行所有这些充满活力的后期写作活动,以帮助将神圣的知识传达给更多的人。 这只是每个人都可以在春季为您编写Web应用程序的时刻,但是您无法在Habr上描述它……您自己不会自己做-没有人会做。 我的专长是会议评论。


会议具有独特的风格和趣味性。 说话者必须在进入舞台之前将其知识系统化。 演讲者应定期进行更新,因为没有人需要不良报告。 演讲者应在舞台上或讨论区中迅速而果断地回答,否则每个人都会认为他是冒名顶替者。 简而言之,在会议上,演讲者欠了您很多东西,您可能会在github上问他们,将它们发送给魔鬼或将答案压缩六个月。


对我来说有两个主要会议: JVMLS和我们的Joker 。 也就是说,世界上有很多会议,但是这两个会议足以让我明年变得忙碌。


如果JVMLS一切都清楚了,那么Joker是一种特殊的多功能工具,它使您能够了解有关Java开发的所有信息。 她以铁杆和铁皮闻名于世。


让我们比较一下它原来的格式->它变成了。


即将到来的一年的趋势


如您所知,节目委员会不是根据观众的喜好和热门话题来随机制定节目的。 会议不是文献或食谱的类似物,它主要是基于特定时间和特定地理位置的人们利益的社会结构。 相对而言,2014年在印度举行的Java会议与Joker截然不同。 那么我们2017年有什么呢?


一年来,Java 9标志着其模块及其在自己的解决方案中的一些新的非凡自由。


关于圣杯的多达两份报告。 Talinger撰写了有关Grail的第一份报告 ,该报告只是宣布他们将最重要的Twitter服务转移到了该报告,结果非常好。 克里斯·西顿(Chris Seaton)详细介绍了其内部工作原理


Luxoft的Ionut Balosin的JIT vs AOT ,以及Arthur Pilipenko撰写的有关Azul Zing新JIT的故事。


Lipsky讨论了Java 9中的模块 。 通常,人们对Java 9持观望态度。


Nitsan Wakart的很酷的报告, 关于探查器 ,Nikita Koval 的无锁算法 ,当然还有Lyosha Shipilev的Shinanda的报告。




结论 :去年,JDK 9实现和模块的细节很有趣-每个人对此安静的革命有点脱节。 像往常一样,每个人都对JIT / AOT的勇气特别是开放源代码GraalVM,新GC(当时没有ZGC,但有Shinanda)以及最后但并非最不重要的多线程经典感兴趣。


我们的时间


首先,我们现在生活在一个Java 9和Java 10不再存在的世界中。 有一些狂野的人提出先迁移到JDK 10,以便以后再爬到11更加容易,但这很奇怪。 我们生活在一个发展势头强劲的JDK 11世界中,这是最近几天谈论最多的话题-“ Java仍将保持免费”。 (当然,它将保留,但不一定采用Oracle JDK的形式)。


今年最狂野的鬣蜥科特林。 幸运的是,小丑虽然没有变成一个关于Kotlin的会议,但是从有兴趣的开发人员和演讲者的数量来看,这很容易做到。


因此,科特林的父亲安德烈·布雷斯拉夫(Andrei Breslav)出现在节目中的报告是“语言设计师生活中的一天”。 就像Linus Torvalds报告中的Linuxoid,就像Reinhold和Rose中的javista。 该语言的生动体现-在讨论区提供报告和一个小时的交流。


最近,我下楼去了瓦西里耶夫斯基(Vasilyevsky)的JetBrains,我们接受了Breslav 的Habr采访 。 不久之前,安德烈(Andrei)在我们组织的TechTrain音乐节上做了报告,因此,如果音乐节过后还有任何问题,还有第二次机会问他们。




自定义编译器和运行时仍在这里。 不久,我们将在哈布雷(Habré)上发布访谈,采访未来的小丑-Nikita Lipsky和Ivan Uglyansky。 在这场相当大的对话中,我们了解了什么是ExcelsiorJET,以及“ JVM工程师的一天的工作”中有趣的是什么。 实际上,我提出的这个问题恰好是对布雷斯拉夫报告的要求的补充。


Nikita和Ivan的报道将会是什么? Nikita谈论拼图层,而Ivan谈论GC的内部。 对于不熟悉它们的人:这些是Excelsior的开发人员,他们实际上是为自己的Java实现编写代码,并且在这一领域具有超深的专业知识。 顺便说一下,ExcelsiorJET具有免费版本-如果您从未尝试过,我建议下载并评估它。 最近,Kotlin编译器将交给他。 两种报告都在同一个第四厅,但是日期不同。




Andrey,Nikita和Ivan是我们的同胞,他们在现代运行时技术的最前沿工作,并向Joker提供了报告。 但是我们的其他同胞将从同一条战线来到那儿,但在展览区设有展位而不是报告。 我要与创建Liberica(Raspberry Pi的OpenJDK发行版)的BellSoft同事分别提及Alexander Belokrylov。 我们还准备了一次与他们的大型访谈,并将在不久的将来发布。


第四堂之谜,第一天


通常,请注意Joker程序的第四列:一罐! 如果您一次浏览所有报告,则可以不融合。


如果去年每个人都对JDK 9和模块有足够的炒作和恐惧,那么现在基础架构已经停顿了下来,这变得很有趣:在这里我们遭受了折磨,折磨,存活了下来,为此我们将获得什么样的nishtyaki?


应用程序程序员想要获得的第一件事就是语法和库中的nishtyaki。 随后,塔吉尔·瓦列夫(Tagir Valeev)提出了有关模式匹配的报告,我们都已经等了多年了。 Nikolai Parlog 将对Java 11进行回顾 ,包括var关键字和库中的各种芯片。




此外,第一天的讨论将转到Nikita Lipsky的拼图层 。 我提醒您,上次有关于OSGi存在实际问题这一事实的不寻常报道 ,这引起了很多争议。 也许这次Nikita会告诉您该怎么做。


阴险的第四大厅出现了王牌:Pangin对Java为什么吃内存感到迷人。 是的,是的,本机内存也是如此。 不幸的是,这里没有任何评论,因为Pangin拥有所有单独且深入的报告。


在他之后, 马克·霍夫曼Mark Hoffman)将讨论如何扭曲运行时以实现我们在Java新版本中喜欢的所有功能。 到目前为止,这是一个很好的结论,因为在一个报告中,两个主题同时合并:语言和引擎舱中的nishtyak。


四号馆再次罢工


如果在第一天,五分之三的报告是关于Java的新版本的(或者四份取决于您的计算方式),那么在第二天,有四份报告被标记为#vm ,第五份报告是关于使用新的Intel硬件进行准确配置的。


让我们从头开始:最后的报告是Raiffeisenbank的Sergey Melnikov提出的。 回到与去年的比较,这是上一份有关JPoint的报告的延续。 强烈建议您观看上一部分,此处提供了视频。 这次,我们将更加沉浸在Intel Processor Trace中。


第二份分析报告来自Marcus Hirt本人是Appeal虚拟机的创建者,他开发了JRockit JVM。 据我从描述中了解到的(我没有问PC),该报告将涉及许多不同的工具,例如JCMD,JMX,JVMTI,JPLIS,HPROF,JFR,JMC,以及如何使用此构造函数解决真正的JVM分析问题。


在这里,您有一张非常古老的图片,就像您还记得:




直接有两个运行时报告:Oleg Shelaev和Grigory Koshelev。


Oleg Shelaev是世界上唯一的官方GraalVM传播者。 好吧,是的,有很多开发人员,Oleg是其中之一。 因此,他几乎将带动GraalVM世界中最紧迫的话题-SubstrateVM的设备和操作。 每年都有自己的主题:如果要在2017年取得成功的报告,仅声明GraalVM的存在就足够了,现在人们已经阅读了许多炒作新闻,开始尝试使用它,并遇到了许多问题。 似乎最酷的不是报告本身,而是抓住Oleg在讨论区,听他讲的一切并提出澄清问题的机会。




顺便说一句,您已经可以在Telegram的@graalvm_ru聊天室中提问 (有时甚至可以回答)。


如果GraalVM允许您自己运行非JVM语言,则Grigory Koshelev报告将揭示.NET和JVM集成的特殊世界,而无需任何Grail。 埃隆·马斯克(Elon Musk),您觉得怎么样?


当然,还有Ivan Uglyansky报告 ,我们之前已经提到过。 该报告的独特之处在于它与GC有关,但它也具有一些实际意义。 同意,通常有关GC的报告是一种航天技术,很有趣(如果是Shipilev),或者您可以在中间入睡(我们不会指着手指)。 在这里,我们将不关注抽象的GC算法,而是关注标准的要求及其实际实现方式。


还有更多的铁杆吗?


当然有。 Yuri Artamonov的“ Jlink和自定义运行时映像”可以很容易地归类为有关现代运行时的报告, 来自Azul Systems的Maxim Kazantsev也具有“针对JVM测试的模糊测试” 。 您必须了解Joker几乎是关于铁杆的,甚至Josh Long关于Reactive Spring的谈论并不像听起来那样简单。


小丑还剩不到一个月的时间,但是我仍然尝试分配时间,并在单独的帖子中回顾该计划的其余部分。


总之,我只能建议您自己查看整个程序,如果喜欢,请购买票 ,因为它们越来越便宜。 是时候了,是的。


Source: https://habr.com/ru/post/zh-CN424237/


All Articles