JavaOne 2012:调查JVM水晶球

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371533.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

测试遇到的问题

多人合作测试 多人员合作测试,应尽量保证测试平台统一,处理流程统一,相互之间保持实时沟通。问题的处理进度应保证所负责的所有测试人员第一时间实时更新。 多人测试应做到2人或以上进行交叉测试。 转载于:https://www.cnblogs.com/liuliu-wo…

Jquery Memo

jQuery选择器 $( "#id" ) $( ".class" )$( "element" )全选择器(*选择器) * {padding: 0; margin: 0;}//子选择器 //$(div > p) 选择所有div元素里面的子元素P//后代选择器 //$(div p) 选择所有div元素…

c#语言输出字符串长度,C#统计字符长度(汉字占2个字符)

在C#编程过程中,通过String类的Length属性可以获取对应字符串的长度,但是细心的读者可能注意到了,String类的Length属性返回的是字符串中Char对象的个数,也就是说,一个汉字的长度为1,对此,MSDN的…

使用JMSTester对JMS层进行基准测试

对于我去过的大多数客户端,使用ActiveMQ扩展JMS消息传递层是一个优先事项。 有多种方法可以实现这一目标,但毫无疑问,创建基准测试并在实际硬件上分析架构(或者正如我的同事Gary Tully所说的“询问机器”)是第一步。 但…

Js引擎解析执行 阅读笔记

Js引擎解析执行 阅读笔记 一篇阅读笔记http://km.oa.com/group/2178/articles/show/145691?kmrefsearch&from_page1&no1 早期:遍历语法树 Js引擎最早使用的是遍历语法树方式 (syntax tree walker) 分为两步 词法分析语法分析词法分析 i a b *…

红外线遥控c语言程序,红外遥控的C程序

红外遥控在生产和生活中应用越来越广泛,不同的红外遥控芯片有不同的发码协议,但一般都是由引导码,系统码,键码三部分组成.引导码是告诉接收机准备接收红外遥控码.系统码是识别码,不同的遥控芯片有不同的误别码,以免搞错.遥控器上不同的按键有不同的键码,系统码和键码都是16位码…

Retrofit2 完全解析 探索与okhttp之间的关系

转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/51304204; 本文出自:【张鸿洋的博客】 之前写了个okhttputils的工具类,然后有很多同学询问这个工具类和retrofit什么区别,于是上了下官网,发现其底…

不变性真的意味着线程安全吗?

我经常阅读有关“如果对象是不可变的,则它是线程安全的”的文章。 实际上,我从未找到过一篇让我相信不变的意味着线程安全的文章。 即使是Brian Goetz的Java Concurrency in Practice一书中关于不变性的一本书也没有完全令我满意。 在这本书中&#xff0…

c语言设计 数组的知识点,C语言程序设计知识点及示例.pdf

C语言程序设计知识点及示例四川大学锦江学院C语言程序设计知识点及示例知识点1:除了复合语句而外,C语言的语句都以分号结束。示例1:C语言的简单语句 (非复合语句语句)必须以 结束。参考答案:分号知识点2:目标程序和可执…

移动端知识汇总

参见地址: https://github.com/jtyjty99999/mobileTech 转载于:https://www.cnblogs.com/duanyue/p/7337789.html

在移动端设置overflow:hidden禁止滚动的解决方法

如果你是将overflow:hidden用在了body上那么不管用,因为移动端是基于touch事件。 两种解决方法: 1、为html和body同时设置height:100%;overflow:hidden; html, body{height:100%;overflow:hidden; }2、使用touchmove $(document).on(touchmove,function …

单元测试线程代码的5个技巧

这是一些技巧,说明如何进行代码的逻辑正确性测试(与多线程正确性相对)。 我发现本质上有两种带有线程代码的刻板印象模式: 面向任务–许多短期运行的同类任务,通常在Java 5执行程序框架内运行, 面向流程–…

jsp2

D:\Software\Tomcat7\work\Catalina\localhost 是缓存目录&#xff0c;可以删掉隐藏域&#xff1a;页面表单中的一个元素&#xff0c;跟文本框一样&#xff0c;但是用户看不到1.建立test1--form表单需要它&#xff0c;而不需要用户看到&#xff0c;用隐藏域<body><%re…

MongoDB MapReduce 的示例。

// JavaScript source code db.runCommand({mapreduce: "page",map: function Map() {emit(this.title, // how to group{ name: this.name } // associated data point (document));},reduce: function Reduce(key, values) {//reduce用来处理group出来是多条数…

c语言长空格的代码是什么,c语言中表示空格的是什么代码?

分析如下&#xff1a;不是所有字符都需要转义的&#xff0c;空格直接就敲空格&#xff0c;或者使用ASCII码值赋值为32。空格没有转义字符。合法转义字符如下&#xff1a;\a 响铃(BEL) 、\b 退格(BS)、\f 换页(FF)、\n 换行(LF)、\r 回车(CR)、\t 水平制表(HT)、\v 垂直制表(VT)…

使用NoSQL实现实体服务–第1部分:概述

在过去的几周中&#xff0c;我一直在进行一些研发工作&#xff0c;以了解使用NoSQL数据库实现实体服务 &#xff08;也称为数据服务&#xff09;的优势。 实体服务是托马斯埃尔&#xff08;Thomas Erl&#xff09;的《服务技术》丛书中提出的服务分类。 它用于描述高度不可知和…

IO注意事项

read()方法返回值为什么是int? 因为字节输入流可以操作任意类型的文件,比如图片音频等,这些文件底层都是以二进制形式的存储的,如果每次读取都返回byte,有可能在读到中间的时候遇到111111111,那么这11111111是byte类型的-1,我们的程序是遇到-1就会停止不读了,后面的数据就读不…

c语言用星号输出沙漏,《算法笔记》学习日记——3.3 图形输出

3.3 图形输出问题 A: 输出梯形题目描述输入一个高度h&#xff0c;输出一个高为h&#xff0c;上底边为h的梯形。输入一个整数h(1<h<1000)。输出h所对应的梯形。样例输入web5样例输出数组*********************************************思路这一类的题目都比较简单&#xf…

JavaOne 2012:101种改进Java的方法-开发人员参与为何如此重要

Bruno Souza &#xff0c; Martijn Verburg和Heather Vancura在希尔顿酒店的大陆宴会厅4中展示了“ 101种改进Java的方法&#xff1a;开发人员参与为何如此重要”。 他们将其分为自己最熟悉的领域。 SouJava的创始人兼协调员 Souza谈到了通过用户组的更大参与。 Verberg也在伦敦…

Java组合实体模式~

组合实体模式用于EJB持久化机制。 组合实体是表示对象图的EJB实体bean。 当组合实体更新时&#xff0c;内部依赖对象bean将自动更新为由EJB实体bean管理。 以下是组合实体Bean的参与者。 组合实体 - 它是主要的实体bean。 它可以是粗粒度的或可以包含用于持久性目的的粗粒度对象…