java开发者应当理解的专业术语-编程开发技术

java开发者应当理解的专业术语-编程开发技术

ID:30780107

大小:157.75 KB

页数:5页

时间:2019-01-03

java开发者应当理解的专业术语-编程开发技术_第1页
java开发者应当理解的专业术语-编程开发技术_第2页
java开发者应当理解的专业术语-编程开发技术_第3页
java开发者应当理解的专业术语-编程开发技术_第4页
java开发者应当理解的专业术语-编程开发技术_第5页
资源描述:

《java开发者应当理解的专业术语-编程开发技术》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Java开发者应当理解的专业术语-编程开发技术Java开发者应当理解的专业术语木文由ImportNew・xiaohcike翻译自javacodegeeks0欢迎加入翻译小组。转载请见文末要求。Java开发者应当理解的专业术语木文将和你分享一些JVM“专业术语”,程序员在对JVM做任何的性能和垃圾回收调整之前理解和记住这些“专业术语”是非常重耍的。在文章的最后还提供一些小技巧,包括一些高性能微调的最佳实践。关于OracleIlotSpot的并发垃圾回收器,例如CMS和G1的进一步建议将在后续文章屮探讨。在深入阅读Z前,我建议你先熟悉《JV

2、M详细GC输岀FI志》。获得这个JVM数据分析技能是至关重要的,特别是当与更加复杂的APM技术结合使用的时候。JVM专业术语•分恥率(AllocationRate)Java对象被分恥到年轻代内存空间,又名“短暂的”对象•转换率(PromotionRate)Java対象从年轻代转移到年老代•存活数据(LIVEData)被分配在年老代内存空间的Java对象,乂名“长寿”对象•暂停应川程序运行进行垃圾回收(Stop-the-worldCollection)垃圾回收,例如完全垃圾回收,造成你的应用程序线程短暂性挂起总到垃圾回收完成第一件事情:J

3、VM垃圾回收日志•提供有关Java堆栈和垃圾回收活动黑盒内的详细细节•使用工具,例如GCMV(垃圾冋收内存可视化),用于评估JVM暂停时间和内存分配率,以及町以手工调整代内存大小(译者注:这里的“代”指JVM中的年轻代,年老代以及永久代)。CollectionType:YoungGenSecssinceJVMlaunch14.730:YGBEFORE->YGAFTER(YGCapacity)2014-08-30T15:11:38.345-0400:(GC(AllocationFailure)(^SYoangGens111584K->11

4、840K(15564BK)]/—161708K->7375GK(219648K),0.0338334sees)[Times:user-0-08sys=0<00#GCElapsedTimeuser=0<08real=0>03secs]分配和转换率•跟踪程序的分配率和转换率对于垃圾回收性能优化是非常重要的。•GCAdaptiveSizePolicy参数是JVM不可分割的一部分,保持该参数有效。仅在必要时手动调整。YGAllocationRate(28756K•2976K)/(18.912•18.524)=64.88MB/sec18.524:

5、[GC(AllocationFailure)(PSYoungGen:28S44K->2976K(29184K)]18・912:[GC(Allocationrailure)(PSYoungGen:28576K・>2976K(29184K)]19.328:[GC(AllocationFailure)(PSYoungGen:28576K->2976K(29184K)】OGAllocationRate46879K->24247K(8601€K)49847K->27183K(86016K)52783K->30119K(86016K)55719K-

6、>33023K(86016K)((27183K-2976K)・(49847X・28576K))/(18.912-18.524)=7.4MB/sec(PSYoungGen:28S44K->2976K(29184K)](PSYoungGen:28576K->2976K(29184K)](PSYoungGen:285”K・a2976K(29184K)](PSYoungGen:28576K->294«K(29184K)]存活数据计算•一-次完全垃圾冋收z后应用程序依旧存活的数据被分配到年老代。•你的年老代容最要足够人是至关重要的,为了能够轻易容

7、纳你的应用程序存活数据,也为了能够限制应用程序主要垃圾回收的频率,还为了能够减轻对应用程序负载吞吐量的影响。建议:刚开始,调整九眩堆大小,以达到一次完全垃圾回收之后年老代占用或者大约占用50%的内存,使得高负载情况(故障转移,高峰,业务繁忙时段)能够捉供做够大的缓存。•要点:注意年老代的内存溢出!•在Java屮什么是内存溢岀?随着时间的推移存活数据不断增加……OGBEFORE亠OGAFTER(OGCapacity)CollectionType:MajorCollectionApplicationLIVEdataClassmetadata

8、utilization2014-08-jrfTlS:5S:OS<931-0400:2[rullGC(Ergonomics)[PSYoungGen:2976K->0K

9、[ParOldGen:53583K->

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。