Mikael Vidstedt和Staffan Friberg提出了“研究JVM水晶球”。 他们表示,此演示文稿涵盖的两个主要领域是技术虚拟机详细信息和虚拟机路线图。 早期的幻灯片“ VM Convergence”讨论了JRockit和HotSpot的融合以及CDC(Jave ME)和HotSpot Embedded的融合。
关于“可服务性:内省和分析”的幻灯片谈到了对“统一日志记录”( JEP 158 )和“本机内存跟踪”的需求。 另一张标题相同的幻灯片谈到了“ Java Flight Recorder和Java Mission Control”,它是JRockit中的一项许可功能,将在HotSpot中提供(仍作为许可功能)。
“ Just Say Java”项目符号是指“消除人工内存限制和所需的调整”并“降低调整垃圾收集器的复杂性”的意图。 最终目标是使用“多层优化编译器”实现“用于客户端和服务器的单个可伸缩VM”。 另一张标题为“ Enterprise:Server Java”的幻灯片谈到了“即时性能”,“低延迟垃圾收集器”和大数据(需要大堆)。
幻灯片的标题为“云与虚拟化:多租户”,主题是“动态扩展和按需可用性”,保持“完全隔离”并最大限度地提高“资源利用率”。
“开发人员体验:持续改进”幻灯片引用了虚拟机上支持的多种语言的价值。 幻灯片和演讲者还提到通过与IDE开发人员的紧密合作,通过“动态开发和调试”来改善开发经验。
JEP是通过社区流程添加到虚拟机的Java增强建议和JEP文档。 在本次会议中指出,现在可以将JVM从小型Raspberry Pi扩展到大型Exalogic T3-1B 。 有人指出,受益于这些极端之一的许多事物也有益于相反的极端以及介于两者之间的所有事物。
“足迹:每个字节都很重要!” 幻灯片介绍了HotSpot VM开发人员正在努力添加到HotSpot VM的嵌入式JVM功能的一些示例。 这些包括“紧凑型JVM内部结构”(JEP 147)和“内部字符串表”,“系统字典”和“缓存”的“动态调整大小”。 企业和嵌入式极端都受益于这些变化。
结合项目符号“ Java堆很简单”,提到了HPROF和Java Mission Control。 本机内存跟踪 “对于总体上寻找足迹非常有用”。
JSR 292 / JEP 160 (invokedynamic的初始版本中存在一些问题( NoClassDefFoundError ),但他们认为这些问题已得到解决。正如今天早些时候在Lambda之路中所述,Lambda项目正在使用invokedynamic。有证据表明invokedynamic不仅适用于“替代JVM语言”,而且对Java语言本身也很有用, Nashorn项目也将受益于invokedynamic。
概述了针对多种语言进行优化的三个动作。 这些是“内联的”(今天已经全部完成,但是他们希望使编译器能够逐步内联),“转义分析改进”(分析改进代码的方式)和“装箱消除”(避免多余的对象)创建)。 JEP 165处理“细粒度的编译器控制”,并且存在JEP 143以改善锁争用。
讨论了幻灯片“ G1 –垃圾优先:垃圾收集的未来”。 有人解释说,这将方法从“一个巨大的Java堆”更改为被视为“许多小部分”的堆。 该-XX:+UseG1GC
选项被提及,以此来尝试这个新的垃圾收集器为JDK 7更新4. JEP 144的目的是减少垃圾收集延迟为大的堆。
“ PermGen不再存在!” 是新JVM内存布局幻灯片上的项目符号,这是JEP 122的结果。 该更改应该是“对用户透明的”,但是他们希望Java开发人员尝试一下以确保该更改是真正不可见的。
JEP 159涉及“增强类的重新定义”。 他们想放松今天的“使用java.lang.instrument,JVMTI等进行的重新定义”。 不仅仅是重新定义代码主体。
JVM开发人员的另一个方向是异构计算。 “ GPU非常强大,并且比过去具有更多的可用性。” 苏门答腊项目试图支持GPU和Arrays 2.0概念 。
有人指出,“云使部署环境更加流畅”,但“ JVM处于帮助的独特位置”。 他们的目标是确保JVM可以接收与云相关的更改并保持隔离。
有人指出,“去除永久代的一个很好的结果”是,“类数据共享”现在可以与所有垃圾收集器一起使用,而不仅仅是与串行收集器一起使用。 JEP 145旨在减少启动时间并减少Java应用程序的预热时间。
在此演示文稿中多次强调,开发人员可以通过下载最新版本的VM和语言编译器,进行尝试并提供反馈来帮助测试和推动修复和改进。 JDK8早期访问版本可以下载,没有永久生成的版本应该很快可以使用。
别忘了分享!
参考: JavaOne 2012:在Inspired by Actual Events博客上,从我们的JCG合作伙伴 Dustin Marx 了解JVM Crystal Ball 。
翻译自: https://www.javacodegeeks.com/2012/10/javaone-2012-looking-into-jvm-crystal.html