冬季的最后一个月即将结束,出于健康的愿望,我开始参加一些大型的Java会议。 幸运的是,距JPoint 2019(国际Java会议)仅剩一个月的时间,该会议将于4月初在莫斯科举行。 该程序几乎已稳定下来,现在该揭露所有显卡了。
新的JPoint计划规模巨大:两天,每天二十份报告。 去哪一个? 您可以通过将报告分为几类来简化任务:
- VM和运行时 -来自行业领导者的8个硬核报告:Oracle,BellSoft,IBM,Azul,Excelsior,Classmates和GridGain;
- 企业 -来自俄罗斯和国际企业的5份报告:Spring,JavaEE,Liferay,Vaadin,Kafka,Netflix OSS与Kubernetes,大型系统的体系结构;
- 响应式 -关于可怕而神奇的喷气式飞机世界的10个报告:Spring Web响应式框架,Spring Project Reactor,RSocket,响应式流,响应式体系结构;
- 语言 -7种语言报告:Java 9-12(副CTO Azul),Kotlin和Kotlin / Native(JetBrains),Scala,函数式编程;
- 工具 -5个调优报告: 创建者 Jenkins(首席执行官CloudBees),开发人员Gradle和IntelliJ IDEA;
- 几个报告不在类别中。
止血药的数量不允许同时考虑所有报告,因此,在每个类别中,我个人选择了几个对我来说最有趣的报告。 您可以在该网站上了解其他所有信息,但是现在您可以自由选择,看看明年为我们准备了什么。

虚拟机和运行时
碰巧的是,传统上是在JPoint和Joker上发表有关Java运行时内部结构的俄罗斯最强硬的报告。 当然,参与者中没有多少JVM工程师,但是他们很少。 正如专业赛车手所说的那样,主要是需要这样的报告才能感觉到“汽车的亲和力”。 您可以感受到所有隐藏的机制,学习如何使用其功能,并满足好奇心。 在这种标志性的报告类别中,会议程序不能随便摆弄,而且很明显。 这些报告由社区中最著名的人,不同运行时和公司的代表执行:
这里没有清单,因为没有任务可以从站点复制程序,而只能传达正在发生的事情的本质。 让我们只看几个报告。
还记得有关如何在20分钟内编写GC的报告(基于Shipilev的文章 )吗? Charlie Gracie将告诉我们一个更神圣的事情- 如何在一个小时内编写您的JIT编译器 。 当然,如果没有Charlie正在研究的可靠解决方案(如OMR),它将无法实现。
但是通常您真的需要编写JIT或GC吗? Andrey Pangin将讨论使用OpenJDK的另一种重要方法:使用JVM Tool Interface(JVM工具接口),JVM Tool Interface是用于开发各种工具(探查器,调试器和诊断实用程序)的标准API。 这是更重要的事情,很容易想象在日常工作中需要在哪里。 许多人都知道它对于编写Java代理很有用,但也适用于许多其他事情。 该报告将处理使用它的方法,错误,功能和见解。 如果您仍然想了解Java代理,Rafael Winterhalter 会告诉您有关它们的信息。
企业版
评论家在这里大声疾呼:“是的,我写Java代理,要坦率地说,不是每天都这样。 我从不写!” 哦,是的,因此所有其他类别的报告都强调了在开发和体系结构各个领域的适用性。 让我们从最明显的类别开始-血腥的企业。 在这一部分中,不仅有外国明星,例如Sebastian Daschner (来自IBM的JavaEE大师)和Milen Dyankov (来自Liferay的传播者),而且还有俄罗斯领先的开发商-Haulmont的Yuri Artamonov (CUBA,与Vaadin一起工作了八年),Kontur的Grigory Koshelev , 弗拉基米尔 CFT的Plizga Toparvion等。
首先,我去看塞巴斯蒂安的报告 。 正式地,他是IBM的首席Java开发倡导者,除其他外,负责JAX-RS和JSON-P标准以及许多开源项目。 我们最近对他进行了Habr的采访,该采访即将出版。 很明显,如果JavaEE和JakartaEE的主题至少在某种程度上很有趣,那么这就是您的个人。 讨论区的交流可以带来最大的价值,因为Sebastian在JavaEE世界中很熟,您可以针对性强的问题来进行交流,讨论并就特定的事情达成共识。 最重要的是,不要忘记他会说英语。 上一次,我在一张纸上写下了所有令我感兴趣的问题,并单调乏味地阅读了这份清单(并不是说应该这样做,但它确实有效):-)
您可能已经习惯了Tolkachev tolkkv和Borisov EvgenyBorisov讲述Spring。 这次他们有一点不同 ,CFT的Vladimir Plizga和Victor Rentea (IBM的技术主管)展示了强制性的Spring主题。 Victor的现场直播时间很长,被深层次的理论问题打断,在那里需要一个理论-因为这是您在Spring中编写各种代理的最喜欢的主题。
反应性
您可以紧张地回忆起记忆是建筑宇航学的一部分的时代。 现在,这个话题正在奔向不可阻挡的蒸汽机:碰巧,这个JPoint报道的喷气机话题最多! 例如,它们的数量是“清洁”企业报告的两倍。 而且您知道的都是一些熟悉的名字。 让我们浏览一些报告。
基里尔·托尔卡切夫(Kirill Tolkachev)和叶夫根尼·鲍里索夫(Evgeny Borisov) 将试图弄清楚什么是现代技术只是时尚玩具,什么是实用的东西。 他们将采用某种类型的应用程序,并尝试以一种响应式的方式对其进行重构,从而揭示诸如Spring Web Reactive Framework之类的功能。 听起来很简单明了,但是据我们所知,他们的报告在评分,出勤率和精心制作方面都是最好的。 我建议您看一下之前的大数据“引导您自己,春天来了”(分为两个部分: 一个 , 两个 )-连续保留两个时隙的少数几个。 链接上同时有视频和文本笔录,但我强烈建议您观看视频,因为演示方式很重要。
现在,让我们谈一谈未来,并迅速转变为现在。 有这样的事情, RSocket是一个像TCP或Web套接字这样的字节传输之上的对称二进制协议,它最终使您可以异步工作。 他还没有完全采取行动,但是没有等很久,开放前景广阔。 在JPoint,我们有一个特别的人Oleg Dokuk,他提供了有关RSocket的报告-Reactor 3提交者,《用Spring 5进行反应式编程》一书的作者,以及现在的RSocket提交者。 如果您确实想使用常规协议,但首先需要了解该主题并与该技术的创建者密切沟通,那么您需要Oleg。
语言能力
让我们再回到更系统的事情上。 以下两类是语言和调优。 我将这种二分法与“物理学家和作词家”与无休止的针对Habré和Reddit的神圣战争联系在一起,因为事实是,拥有一门懂得如何做的聪明语言,或者内置有人工智能的IDE随时为您提供帮助更为重要。 幸运的是,在这里我们既没有Haskell也没有Common Lisp:在Java世界中,有一种聪明的语言,出色的IDE和关于此的强大报告。 从路障的语言角度来看, 两名 JetBrains 员工正在等我们, Azul技术总监 ,gamedev 函数程序员,甚至是Skalalaz的现场Scala播客-Olga Makhasoeva。 通常,该支队的人员配备少于全部人员。
我们已经不止一次地听说过Java的未来。 但这是一个特例-Azul的Simon Ritter将讨论向新Java的迁移。 谁才有权发表这样的讲话。 Reinhold,Goetz,Rose ... Ritter。 好吧,你明白了。 Simon现在代表Azul在JCP执行委员会以及JSR 379和JSR 383的专家组中。在报告中,他将概述广泛的迁移问题:语言,库,设置的变化,甚至会影响发行周期的惊人加速。 我强烈建议在讨论区与之交谈的另一个人是,您的问题可能会影响Java的未来。
我的第二个话题是“科特林/母语:为什么要在2019年使用母语? JVM之外还有什么?” 来自JetBrains的Nicholas Igotti。 如您所知,如果用Kotlin编写,一切都会变得更好:-)然而,对于许多需要将版本编译为本机代码的人仍然是个谜。 至少有很多编译语言,在这里我们谈论的是一个相对较年轻的项目。 不用担心,这里不仅有任何人,而且Kotlin / Native项目的技术经理肯定会处理任何问题。
工具是一件很薄的事情。 一方面,每个人都可以对他说些什么,另一方面,通常是这样的对话,甚至是整个报告,都陷入了平时的品味或对开发工具的复杂性的理解不够,这些工具不仅被您个人使用,而且被全世界的一半人使用。 通常只有与这些工具的用户进行密切沟通的相应调音师或福音传教士才能获得这种能力。 我们的JPoint“工具团队”由作者Jenkins ,Gradle的开发人员之一, 柏林水罐的负责人和两名 JetBrains 员工组成 。
CloudBees的技术总监川口昌介(Kohsuke Kawaguchi)是一位传奇人物,他亲手造出了詹金斯(Jenkins),并在许多方面决定了俄罗斯和全球CI / CD技术的发展方向。 当然,他不会谈论石器时代和被遗忘的错误。 这是关于詹金斯的全新事物和革命性的事情。 目前正在与计划委员会一起开发该报告,并且将来在JPoint网站上发布的报告的标题和大纲可能会更改。
当然,第二份报告值得一提的是Tagir Valeev lany ,他是JetBrains的开发人员,他是发明人在启动IntelliJ IDEA时使用的许多很酷的东西的发明者。 这次将有一份有关原子重构的报告 ,该报告探讨了一个紧迫的问题和痛苦:自动重构后程序不会中断吗? Tagir将讲授如何使IntelliJ IDEA原子重构,即使它拒绝也不会破坏语义。
类别外
此外,我们还有一位演讲者-Zerocracy总监Yegor Bugaenko yegor256。 他至少写了两本关于正确的OOP的书( 一本书,两本书-没有关于Singleton模式的另一种描述,但是确实有一些需要阅读的东西),他会将一堆代码复制到开源中并做出不寻常的挑衅性报告。 我们会议的定期与会者都知道,很久以前,他们曾特别发明过“准备烧掉”标记。 现在此标记不在报告上,标题“ Test miscalculations”和报告描述看起来非常严肃和实用。 Yegor是否能够做出不会引起观众注意的报告? 让我们看看。
培训“春季实用设计模式”,主持人-Victor Rentea
您可能已经注意到,会议程序中有一个关于Spring代理的报告,这是一个实时编码会话。 但这还不是全部。
在JPoint开始的前一天,即4月4日,Victor将进行一个为时8小时的大型培训,以设计干净,设计良好的代码(包括如何将您的遗产重构到这种状态)。
培训内容如下:
- 基本架构原则:SRP,DRY,KISS,YAGNI,SOLID等
- 单身和全球地位令人沮丧的令人不快的生活,在这里可以做什么;
- 适配器-我们的反腐败层;
- 装饰器,代理和其他Spring魔术;
- 建筑的立面和进化方法;
- Spring中的观察者和事件驱动的组件;
- 迭代器和流作为概念;
- 战略和责任链,采用唯一责任原则(SRP);
- 模式命令,异步;
- 模板方法以及如何用...杀死它
- 通过块和功能编程;
- 反模式及其处理方法;
- 最终测试和奖项。
培训参与者最好事先熟悉Spring,如果出于某种原因他还没有这样做,并且通常能够使用Java进行编程。
有关培训的更多信息,请联系JPoint网站 。
常问问题:仅此而已吗?
当然,会议不仅是报告,而且是沟通的海洋。 这是现场直播与在线广播不同的地方,我们也计划这样做。
看看上面的列表-我想与这些人中的大多数见面并讨论一些重要的事情。 我们有这样的机会:报告结束后,每个人都将进入讨论区并在这里进行足够长时间的讨论。 最终,组织了所谓的BOF会议(有点像圆桌会议,但只有所有人都参加了)。
您只能遇到来自社区的有趣人士,但他们没有报告。 您可以找到感兴趣的公司,向他们的代表学习并参加比赛。 我们现在正在思考各种不同的附带活动。 简而言之,所有关于大型会议的想法都可以想象得到。
接下来是什么?
然后您需要来到JPoint! 它将于2019年4月5日至6日在莫斯科举行。
门票可以在官方网站上购买。 在这里,您可以详细了解该程序的当前版本 (它可能会有所变化,我们经常会介绍Habré中的更改)。
关于价格和折扣的重要注意事项 。 与以前的JPoint相比,票务系统变得更加灵活,现在可以发行四种类型的票证:学术票,个人票,标准票和在线票。 为何如此重要:如果您自己购买机票,那么它将比公司机票便宜得多。 而且,如果您是学生,研究生或教师(并且有适当的确认文件),那么折扣特别好。 当然, 需要在站点上阅读详细的条件-以上所有内容仅供参考。
期待JPoint 2019,您可以观看前几年的会议录音。 他们整齐地躺在我们的YouTube频道上 。 去年的笔记在新会议开始之前就已在那里列出,并且您可以通过这种方式直观地评估报告的质量。
在JPoint 2019与我见面!
