jvm优化经验总结-java开发java经验技巧

jvm优化经验总结-java开发java经验技巧

ID:30779672

大小:264.44 KB

页数:16页

时间:2019-01-03

jvm优化经验总结-java开发java经验技巧_第1页
jvm优化经验总结-java开发java经验技巧_第2页
jvm优化经验总结-java开发java经验技巧_第3页
jvm优化经验总结-java开发java经验技巧_第4页
jvm优化经验总结-java开发java经验技巧_第5页
资源描述:

《jvm优化经验总结-java开发java经验技巧》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、JVM优化经验总结-编程开发技术JVM优化经验总结原文出处:周耀明开始之前Java虚拟机有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。注意:本文仅针对JDK7、HotSPOTJava虚拟机,对于JDK8引入的JVM新特性及其他Java虚拟机,本文不予关注。我们以一个例子开始这篇文章。假设你是一个普通的Java对象,你出生在Eden

2、区,在Eden区有许多和你差不多的小兄弟、小姐妹,可以把Eden区当成幼儿园,在这个幼儿园里大家玩了很长时间。Eden区不能无休止地放你们在里面,所以当年纪稍大,你就要被送到学校去上学,这里假设从小学到高屮都称为SurvivorIX。开始的时候你在SurvivorIX里面划分出来的的“FronT区,读到高年级了,就进了Survivor区的“To”区,屮间由于学习成绩不稳定,还经常來回折腾。直到你18岁的吋候,高中毕业了,该去社会上闯闯了。于是你就去了年老代,年老代里面人也很多。在年老代里,你生活了20年(每次GC加一岁),最后寿终正寝,被GC回收。冇一点没冇捉,你在年老代遇到了

3、一个同学,他的名字叫爱德华(慕光之城里的帅哥吸血鬼),他以及他的家族永远不会死,那么他们就生活在永生代。之前的文章《JVM垃圾冋收器工作原理及使用实例介绍》中已经介绍过年轻代、年老代、永生代,本文主要讲讲如何运用这些区域,为系统性能提供更好的帮助。本文不再重复这些概念,直接进入主题。如何将新对象预留在年轻代众所周知,由于FullGC的成本远远高于MinorGC,因此某些情况下需要尽可能将对象分配在年轻代,这在很多情况卞是一个明智的选择。虽然在大部分情况下,JVM会尝试在Eden区分配对彖,但是由于空间紧张等问题,很可能不得不将部分年轻对彖提前向年老代压缩。因此,在JVM参数调优

4、时可以为应用程序分配一个合理的年轻代空间,以最大限度避免新对象直接进入年老代的情况发生。清单1所示代码尝试分配4MB内存空间,观察一下它的内存使用情况。清单1.相同大小内存分配publicclassPutlnEden{publicstaticvoidmain(Str、ing[]args){byte[]bl,b2,b3,b4;//定义变量bl=newbyte[1024*1024];//分配1MB堆空间,考察堆空间的使用情况b2=newbyte[1024*1024];b3=newbyte[1024*1024];b4=newbyte[1024*1024];}}使用JVM参数-XX:+

5、PrintGCDetai1s-Xmx20M-Xms20M运行清单1所示代码,输岀如清单2所示。清单2.清单1运行输出[GC[DefNew:5504K->640K(6144K),0.0114236secs]5504K->5352K(19840K),0.0114595secs][Times:user=0.02sys=0.00,real=0.02secs][GC[DefNew:6144K->640K(6144K),0.0131261secs]10856K->10782K(19840K),0.0131612secs][Times:user=0.02sys=0.00,real=0.02s

6、ecs][GC[DefNew:6144K->6144K(6144K),0.0000170secs][Tenured:10142K->13695K(13696K),0.1069249secs]16286K->15966K(19840K),[Perm:376K->376K(12288K)],0.1070058secs][Times:user二0.03sys=0.00,real=0.11secs][FullGC[Tenured:13695K->13695K(13696K),0.0302067secs]19839K->19595K(19840K),[Perm:376K->376K(12

7、288K)],0.0302635secs][Times:user=0.03sys=0.00,real=0.03sees][FullGC[Tenured:13695K->13695K(13696K),0.0311986secs]19839K->19839K(19840K),[Perm:376K->376K(12288K)],0.0312515secs][Times:user二0.03sys二0.00,real=0.03secs][FullGC[Tenured:13695K->13695K(13

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

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

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