jvm垃圾回收原理g

jvm垃圾回收原理g

ID:39969337

大小:729.00 KB

页数:38页

时间:2019-07-16

jvm垃圾回收原理g_第1页
jvm垃圾回收原理g_第2页
jvm垃圾回收原理g_第3页
jvm垃圾回收原理g_第4页
jvm垃圾回收原理g_第5页
资源描述:

《jvm垃圾回收原理g》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、GarbageCollectionFenghuaJin1st,May,2007GCDescriptionWhat’sGC?GC用于跟踪内存中的对象,并回收那些不再被其他对象引用的对象。内存中的对象类型活动对象:即当前正在其他对象引用的对象。非活动对象:这类对象不再被其他对象所引用,是孤立的对象。这类对象可以被回收,回收的堆空间用于分配给其它新创建的对象。2GCDescription(2)GC何时会被触发?系统空闲GC线程的优先级低于系统应用线程,当系统中没有应用线程执行时,GC会被触发。堆空间内存

2、不足当堆空间的内存不足以创建新对象时,GC会被触发。如果第一GC仍不能获得足够的空间,第二次GC将被触发,如果这一次仍无法获取足够的空间,“Outofmemory”将被抛出。3GCDescription(3)影响GC执行时间、频度的因素JVM堆(heap)空间的大小堆空间设置偏大,完全GC执行比较耗时,但执行频率会降低。堆空间设置恰好符合应用内存需求,完全GC执行很快,但执行会变得更频繁。4HeapDescription什么是堆(heap)空间堆是java程序中对象存活的地方,其中包括:活动对象非

3、活动对象,这类对象不再为应用程序中的任何指针能够到达。剩余内存堆空间中包含三种区域:新生代(younggeneration)旧生代(tenuredgeneration)永生代(permanentgeneration)5HeapDescription(2)新生代(younggeneration)新生代被分为两块:Eden、SurvivorspacesEden是为新对象分配的地方,很多对象分配后就变成非活动对象,即垃圾对象。这类对象具有“infantmortality”(幼儿死亡率)。如:方法体中的临

4、时对象。Survivorspaces也被称为两片生存空间,其中一片要保证任何时刻是空的,并作为下一个空间的目的地。当GC发生的时候,Eden中的存活对象被移入下一片空间。对象在生存空间之间移动,直到它们老化(达到存活时间阀值),然后被移入旧生代。Eden中对象满的时候,发生一次小收集(minorcollection),小收集执行时间取决于Eden中对象的infantmortality。infantmortality高,执行就会很快。6HeapDescription(3)旧生代(tenuredgen

5、eration)该区域用于存放那些生命周期比较长的对象,Eden中的活动对象经过minorcollection后,被复制到两片生存空间,当两片生存空间中的对象老化时,这些对象被移入旧生代。旧生代中对象满的时候,发生一次大收集(majorcollection),因为收集时要涉及所有存活对象,所以大收集的速度相对于小收集要慢很多。7HeapDescription(4)下图展示了典型应用中,对象生存周期8HeapDescription(5)永生代(permanentgeneration)这个代比较特别,

6、它负责保存反射对象。这些数据是虚拟机所需的数据,用来描述在Java语言中没有等同物的对象。例如,描述类与方法的对象存储在永生代中。9HeapDescription(6)分代后的heap结构10PerformanceTuning下图显示了GC性能对整个系统性能的影响11PerformanceTuning(2)从上图可以看出:如果系统花费在GC上的时间为1%,一旦系统跨越32个处理器时,系统的吞吐量(Throughput)将减少>20%如果系统花费在GC上的时间为10%,一旦系统跨越32个处理器时,系

7、统的吞吐量(Throughput)将减少高达75%Note:所谓throughput,即系统用于处理非GC时间的比例。12PerformanceTuning(3)PerformancemeasurementPause:thetimeswhenanapplicationappearsunresponsivebecausegarbagecollectionisoccurring.Footprint:theworkingsetofaprocess,measuredinpagesandcachelines

8、.Promptness:thetimebetweenwhenanobjectbecomesdeadandwhenthememorybecomesavailable.13PerformanceTuning(4)Howtoleveragethesemeasurementaverylargeyounggenerationmaymaximizethroughput,butdoessoattheexpenseoffootprint,promptness,andpausetimes.asmal

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

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

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