javaone_JavaOne 2012:调查JVM水晶球

javaone

我周一回到了希尔顿的A / B广场参加第四届会议,但首先去了希尔顿的顶层收拾午餐。 我每年都在JavaOne的第一天被提醒,对于参与的每个人来说,第一天的午餐获取过程令人惊讶地令人沮丧。 我知道我在JavaOne的第一年的经历使我有些困惑,因为我不确定午餐在哪里可以买到,而且我也不知道徽章中包含的午餐票(那是我不读午餐所得到的)说明首先的心态)。 今天,当我听到人们问“什么票?”时,明显感到困惑。 当被要求出示午餐票时。 那些试图组织饥饿的部落的人劝说我们远离自动扶梯的顶部并没有帮助,但不知道我们应该去哪里。

Mikael VidstedtStaffan Friberg提出了“研究JVM水晶球”。 他们表示,此演示文稿涵盖的两个主要领域是技术虚拟机详细信息和虚拟机路线图。 早期的幻灯片“ VM Convergence”讨论了JRockit和HotSpot的融合以及CDC(Jave ME)和HotSpot嵌入式融合。

关于“可维护性:内省和分析”的幻灯片谈到了对“统一日志记录”( 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 Heap is'Easy”,提到了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

javaone

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值