`
RednaxelaFX
  • 浏览: 3048927 次
  • 性别: Icon_minigender_1
  • 来自: 海外
社区版块
存档分类
最新评论

昨天杭州QCon上我的JVM分享的演示稿

阅读更多
发在SlideShare上了:http://www.slideshare.net/RednaxelaFX/jvm-taobao
这次分享难得完全没超时。计时器上显示的是58分钟讲完。呼…

之前在微博上也说了,这边想重复几句:

感谢昨天下午能来参加我的分享的同行们,更感谢能听到最后的 很高兴能与大家交流。这次分享的内容可能比较偏,主要是为了避开跟Twitter的Attila Szegedi的分享重叠,希望能给大家看到些不一样的东西。实际上普通的GC调优工作我们也有做,不过Attila的分享已经很赞,同一天内两个session都讲同一件事就不那么有趣了。

演示稿里的内容是我们整个组的工作内容,并非我自己一个人的。这点想强调一下

分享中言语上如果惹到一些前辈不满了,请多谅解。e.g. 并不是说《深入Java虚拟机(第二版)》那样的书内容浅,只是我们组的工作内容不是在那个层面上而已。这边也有许多的那个层面上工作的同事。

这次QCon结识了许多新朋友,了解到了不少有趣的信息。即便是阿里系内部,别的组在做什么我们也并不完全清楚,这次还顺便了解到了许多兄弟部分的工作内容,相当高兴。

P.S. 我们组随时欢迎新鲜血液的加入
分享到:
评论
15 楼 RednaxelaFX 2012-06-06  
fh63045 写道
这么能加入?
求入口
求大腿

嗯?请问是有兴趣加入我们组么?如果是的话可以用站内信发简历给我,我可以帮忙发到组里。
今年阿里系基本上不招人所以今年或许不是一个很好的加入时间。不过如果有非常好的候选人我们还是非常欢迎加入的
14 楼 fh63045 2012-06-06  
这么能加入?
求入口
求大腿
13 楼 RednaxelaFX 2012-01-26  
deyimsf 写道
请问在现有的HotSpot虚拟机中是不是除了CMS和G1所有的gc应该都是stop-the-world?

嗯。或者换个说法,现在的HotSpot VM里只有CMS和G1是并发的,其它都不是并发的。这里的“并发”指的是GC与应用程序之间的关系。以前的HotSpot VM里还有一种incremental collector叫做train collector,后来被CMS替代了
12 楼 deyimsf 2012-01-25  
RednaxelaFX 写道
buaasss 写道
2011-10-31T20:42:33.187+0800: 0.754: [GC 0.754: [DefNew: 3324K->152K(3712K), 0.0025925 secs] 3324K->152K(11904K), 0.0031680 secs]

这儿一并请教撒迦几个困扰几天的问题,DefNew应该不是gc collector的名字吧?这和
sun上面的对gc格式的解释不一样呀?

另一个问题是,为什么有时候full gc的时候会打印为[full gc...]而有时候只打印为[gc...]呢?

DefNew是使用serial young collector时young generation这个space的名字,意思是default new generation。
对应的,如果使用parallel young collector,那么young generation的space的名字就是ParNew,意思是parallel new generation。
而如果是在用ParallelScavenge系的GC(-XX:+UseParallelGC或-XX:+UseParallelOldGC),那么young gen的名字是PSYoungGen。

stop-the-world的full GC会显示[Full GC...,不是stop-the-world的GC或不是full GC的话则就是[GC...


请问在现有的HotSpot虚拟机中是不是除了CMS和G1所有的gc应该都是stop-the-world?
11 楼 大海lb 2011-12-09  
你好,经常来这里看师傅级人的帖子和文章,小弟马上大学毕业,一直喜欢Java,请教,能否给几点学习的建议,现在我还停留在看jdk源代码层面上,对jvm也就在看《深入Java虚拟机》的层面,谢谢!特别崇拜像你一样的技术牛人,以后也想成为类似你的牛人,求指点!
10 楼 wangtuoy 2011-11-24  
wangtuoy 写道
不错不错。我是王拓
对了,问个小问题,莫枢同学。。
jvm在gc的时候,比如用serial+serial old,里面的survivor:to space不被使用。。
allocation1 = new byte[_1MB/8];
allocation6 = new byte[_1MB/8];
allocation2 = new byte[5*_1MB];
allocation2 = null;
allocation3 = new byte[4*_1MB];
allocation4 = new byte[3*_1MB];
allocation3 = null;
allocation4 = null;
allocation1 = null;//加上或者去掉,只有survivor:from space有变化。
allocation5 = new byte[_1MB/4];
allocation2 = new byte[4*_1MB];

我看好多资料都说,当gc工作的时候,会把一个survivor和eden中的存活对象,拷到另一个survivor.但是好像看不到这个过程。

谢啦。。

补充下:jvm的参数:Xms20M Xmx20M Xmn10M XX:SurvivorRation=8
9 楼 wangtuoy 2011-11-24  
不错不错。我是王拓
对了,问个小问题,莫枢同学。。
jvm在gc的时候,比如用serial+serial old,里面的survivor:to space不被使用。。
allocation1 = new byte[_1MB/8];
allocation6 = new byte[_1MB/8];
allocation2 = new byte[5*_1MB];
allocation2 = null;
allocation3 = new byte[4*_1MB];
allocation4 = new byte[3*_1MB];
allocation3 = null;
allocation4 = null;
allocation1 = null;//加上或者去掉,只有survivor:from space有变化。
allocation5 = new byte[_1MB/4];
allocation2 = new byte[4*_1MB];

我看好多资料都说,当gc工作的时候,会把一个survivor和eden中的存活对象,拷到另一个survivor.但是好像看不到这个过程。

谢啦。。
8 楼 buaasss 2011-11-01  
RednaxelaFX 写道
buaasss 写道
2011-10-31T20:42:33.187+0800: 0.754: [GC 0.754: [DefNew: 3324K->152K(3712K), 0.0025925 secs] 3324K->152K(11904K), 0.0031680 secs]

这儿一并请教撒迦几个困扰几天的问题,DefNew应该不是gc collector的名字吧?这和
sun上面的对gc格式的解释不一样呀?

另一个问题是,为什么有时候full gc的时候会打印为[full gc...]而有时候只打印为[gc...]呢?

DefNew是使用serial young collector时young generation这个space的名字,意思是default new generation。
对应的,如果使用parallel young collector,那么young generation的space的名字就是ParNew,意思是parallel new generation。
而如果是在用ParallelScavenge系的GC(-XX:+UseParallelGC或-XX:+UseParallelOldGC),那么young gen的名字是PSYoungGen。

stop-the-world的full GC会显示[Full GC...,不是stop-the-world的GC或不是full GC的话则就是[GC...

感谢撒迦的详细解答:)问题弄懂了一部分,自己还得再多找点资料研究下
7 楼 RednaxelaFX 2011-11-01  
buaasss 写道
2011-10-31T20:42:33.187+0800: 0.754: [GC 0.754: [DefNew: 3324K->152K(3712K), 0.0025925 secs] 3324K->152K(11904K), 0.0031680 secs]

这儿一并请教撒迦几个困扰几天的问题,DefNew应该不是gc collector的名字吧?这和
sun上面的对gc格式的解释不一样呀?

另一个问题是,为什么有时候full gc的时候会打印为[full gc...]而有时候只打印为[gc...]呢?

DefNew是使用serial young collector时young generation这个space的名字,意思是default new generation。
对应的,如果使用parallel young collector,那么young generation的space的名字就是ParNew,意思是parallel new generation。
而如果是在用ParallelScavenge系的GC(-XX:+UseParallelGC或-XX:+UseParallelOldGC),那么young gen的名字是PSYoungGen。

stop-the-world的full GC会显示[Full GC...,不是stop-the-world的GC或不是full GC的话则就是[GC...
6 楼 buaasss 2011-10-31  
多谢,多谢,刚刚测试了的:)
2011-10-31T20:42:33.187+0800: 0.754: [GC 0.754: [DefNew: 3324K->152K(3712K), 0.0025925 secs] 3324K->152K(11904K), 0.0031680 secs]

这儿一并请教撒迦几个困扰几天的问题,DefNew应该不是gc collector的名字吧?这和
sun上面的对gc格式的解释不一样呀?

另一个问题是,为什么有时候full gc的时候会打印为[full gc...]而有时候只打印为[gc...]呢?
5 楼 RednaxelaFX 2011-10-31  
buaasss 写道
多谢分享,
使用了什么命令,使gc的log中打印了绝对时间,而不是相对jvm的启动时间(如ppt的39页)?

PrintGCDateStamps打印的是日期,PrintGCTimeStamps打印的是相对时间
4 楼 buaasss 2011-10-31  
多谢分享,
使用了什么命令,使gc的log中打印了绝对时间,而不是相对jvm的启动时间(如ppt的39页)?
3 楼 sgano1 2011-10-27  
谢谢分享
内容很不错,ppt做的也挺好
2 楼 134564 2011-10-27  
E文不好..
1 楼 richard_2010 2011-10-25  
已下,谢谢撒迦。

相关推荐

    Qcon2011杭州-莫枢(RednaxelaFX)演讲-JVM@Taobao

    在2011年的Qcon杭州技术大会上,淘宝网的资深技术专家莫枢(RednaxelaFX)进行了一场关于JVM在淘宝应用中的实践与优化的演讲。这场演讲深入浅出地揭示了淘宝如何利用Java虚拟机(JVM)来应对大规模电商系统所面临的...

    Qcon2018上海架构分享资料

    终稿-陈旭东-微服务插件容器国际化V0.4.pdf 终稿-江杰.pdf 终稿-李淼-高性能消息数据存储引擎的设计解析.pdf 终稿-尤勇-美团点评监控体系建设.pdf 最终版-宋顺-配置中心,让微服务更『智能』+.pdf README.md

    2009QCon部分演讲稿

    在2009年的QCon北京大会上,几位重量级嘉宾分享了他们的见解和经验,涵盖了RI(Rich Internet Applications)技术、微软的云计算平台Windows Azure以及企业系统的设计和互联网公司的技术架构发展。 首先,我们来...

    2009年QCon部分演讲稿

    【标题】"2009年QCon部分演讲稿"涉及的是当年QCon大会的一些重要演讲内容,QCon(全球企业开发大会)是面向软件开发者的一场顶级技术盛会,每年都会邀请众多业界专家分享最新技术和趋势。这次我们关注的是张剑宇关于...

    QCon2010大会ppt下载

    QCon是为团队领导者、架构师、项目经理和高级软件开发人员量身打造的企业软件开发大会,其所覆盖的主题内容与InfoQ网站相同,关注架构与设计、真实案例分析等等。从2007年3月到现在,QCon已经在英国伦敦、美国旧金山...

    近年Qcon上知名互联网公司大数据架构分享集合(PDF文件)

    本资料集合是Qcon历年来关于大数据架构的精彩分享,涵盖了LinkedIn、腾讯、大众点评、饿了么、京东等多个互联网巨头的经验与实践。 1. **LinkedIn大数据**:LinkedIn是全球最大的职业社交网站,其大数据处理涉及...

    2015年QCon会议上的PPT全集15

    2015年QCon会议上的PPT全集

    2015年QCon会议上的PPT全集9

    2015年QCon会议上的PPT全集

    Qcon2018上海DevOPS最佳实践分享资料

    陈喆_Paypal的持续交付体系.pdf 乔梁_Leading DevOps in the right way.pdf 张甲磊-DevCloud+on+DevCloud每日10次发布效率提升实践(QCon上海2018).pdf README.md

    2009年QCon北京部分演讲稿

    通过这些文件,我们可以深入学习到2009年QCon北京会议上关于项目管理和敏捷开发的前沿理念和实践经验,从而提升自己的专业技能和对行业的理解。无论是项目经理还是开发者,都可以从中受益,将这些知识应用到日常工作...

    2015年QCon会议上的PPT全集10

    2015年QCon会议上的PPT全集

    qcon-london-2015:来自 QCon 伦敦 2015 演讲的演示回购

    2015 年 6 月 3 日,我在 QCon London 上发表了演讲,这是演讲中的演示代码和示例。 大容量多维时间数据序列的React式应用设计 “新兴的 Reactive Streams 规范非常适合设计处理有序的大容量流应用程序。我们将研究...

    QCon北京2018-《用正确分享来磨练专家实力——分享型专家升级记》-黄闻欣.pdf

    这次分享,我会用我的从工程师到专家工程师的亲身经历作为案例,从沟通力,学习力,思考力,强迫力,告诉大家,用怎样的钥匙才能打开这扇门。希望听众能收获并践行,让自己的职业生涯更进一步。

    QCon北京2018 PPT合集

    《QCon北京2018 PPT合集》是一份汇集了2018年在北京举行的QCon全球软件开发大会精彩演讲的资源集合。QCon(全称:QCon Software Development Conference)是由InfoQ主办的世界级技术盛会,每年在全球多个城市举办,...

    QCon2016技术峰会

    QCon2016技术峰会 QCon2016技术峰会 QCon2016技术峰会

    Qcon杭州大会专家演讲录音PPT

    资源名称:Qcon杭州大会专家演讲录音 PPT资源目录:【】 全局架构重构-qcon杭州2011-鲁肃_v20111023【】cb47334ec2cef8897dc3e249fc3648f6【】DevOps,从云端到地面(熊节)【】Facebook大数据实时分析案例分享(Uri)...

    QCon 全球软件开发大会 2018 北京 PPT合集 第三部分

    QCon北京2018-《用正确分享来磨练专家实力—.pdf QCon北京2018-业务高速发展下的互联网金融系统架构演变-张现双 .pdf QCon北京2018-互联网文本内容安全:一种对抗式AI设计实践-王国印.pdf QCon北京2018-优酷...

    QCon-2021-Shanghai.zip

    QCon 2021 上海站PPT

Global site tag (gtag.js) - Google Analytics