- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
追求最大吞吐量 * Concurrent Low Pause Collector-CMS 永生代-XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled * 追求最小pause -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled * GC JAVA TOOLS 谢刚 2009-7-27 GC GC是一个自动管理内存的程序。主要职责是分配内存,保证被引用的对象始终在内存,把不被应用的对象从内存中释放 GC会自动计算对象被引用的情况,只要对象不再被引用,相应的内存就会被回收,另外,GC非常重要的一点就避免内存碎片,道理跟windows的磁盘整理一样,把使用中各个内存块整合起来,这样才能保证有足够的空间来存储大对象。 理想中的GC 该回收的回收,不该回收的绝不回收 GC要快而且GC运行时,不能导致应用程序的停顿。 限制内存碎片,对象被回收以后,所使用的内存会被回收,如果不加处理内存中就会出现大量的内存碎片,这样就有可能导致因为没有足够的连续空间分配给某些大对象而导致OutofMemory。消除内存碎片的的手段之一就是“内存压缩”。 可扩展性(Scalability),内存的分配和回收都不能成为应用程序的瓶颈 GC的性能评判标准 吞吐量(Throughput)—全部时间中不用于GC的比例。(重点) 暂停时间—GC过程中应用程序执行暂停的时间。(重点) GC的开销—全部时间中用于GC的比例。 GC的频率—通过跟应用程序的执行比较来得到GC的执行频率。 支持GC运行所需使用的内存大小—例如heap的大小。 GC的及时性(Promptness)—一个对象从被废弃到内存被回收之间的时间差 堆(HEAP) JVM管理的内存叫堆。在32Bit操作系统上有4G的限制,而64Bit的就没有。 JVM初始分配的内存由-Xms指定,默认是物理内存的1/64但小于1G。 JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4但小于1G。 -XX:MinHeapFreeRatio=40?-XX:MaxHeapFreeRatio=70 服务器一般设置-Xms、-Xmx相等以避免在每次GC 后调整堆的大小 收集算法(一) 复制(copy):将堆内分成两个相同空间,从根(ThreadLocal的对象,静态对象)开始访问每一个关联的活跃对象,将空间A的活跃对象全部复制到空间B,然后一次性回收整个空间A 优点:遍历对象成本小,由于只遍历活跃对象 缺点:复制成本高,需要较多的内存 标记清除(mark-sweep):收集器先从根开始访问所有活跃对象,标记为活跃对象。然后再遍历一次整个内存区域,把所有没有标记活跃的对象进行回收处理。 优点:不用复制 缺点:遍历整个空间的成本较大暂停时间随空间大小线性增大,而且整理后堆里的碎片很多。 收集算法(二) 标记整理(mark-sweep-compact) 这个算法有3个阶段,mark(标识回收对象),sweep(清除),compact(压缩)。 综合前两者的做法和优点,先标记活跃对象,然后将其合并成较大的内存块 收集算法(三) 分代( Generations ) 分代根据对象的生命周期长短,把堆分为3个代: Young(年轻代、新生代) Old(年老代、老生代) Permanent(永生代) 优点:根据不同代的特点采用不同的收集算法,扬长避短 堆内存分布图 -Xms1024m -Xmx1024m 堆大小 -XX:NewSize=256m -XX:MaxNewSize=256m 新生代大小 -XX:PermSize=128m -XX:MaxPermSize=128m 永生代大小 -Xss128K 单线程栈的大小 -XX:MaxTenuringThreshold=2 新生代对象经过2次进入老年代 YOUNG Young(Nursery),年轻代。研究表明大部分对象都是朝生暮死,随生随灭的。因此所有收集器都为年轻代选择了复制算法。??? Young里面又分为3个区域,一个Eden,所有新建对象都会存在于该区,两个Survivor区,用来实施复制算法。每次复制就是将Eden和第一块Survior的活对象复制到第2块,然后清空Eden与第一块Survior。 由于新生代的空间通常都比较小而且可能存在大量不再被引用的对象,所以针对新生代的GC执行频率高、速度快。 Old(Tenured),年老代 Old(Tenured),年老代。年轻代的对象如果能够挺过数次收集,就会进入年老代。年老代使用标记整理算法。因为年老代的对象都没那么容易死的,采用复制算法就要反复的复制对
您可能关注的文档
- 2012届步步高高考英语大二轮专题复习与增分策略课件:单项填空1、容易溷淆的名词.ppt
- 2012届步步高高考英语大二轮专题复习与增分策略课件:完形填空2、议论文型 .ppt
- 2012届步步高高考英语大二轮专题复习与增分策略课件:完形填空3、说明文型 .ppt
- 2012届高考生物二轮复习专题实验与探究 .ppt
- 2012届高考英语学海导航复习-情态动词和虚拟语气 .ppt
- 2012届高考语文福建人教版学海导航新课标高中总复习(第1轮)课件:第7章第1节+散文阅读(1) .ppt
- 2012届高考语文福建人教版学海导航新课标高中总复习(第1轮)课件:第8章第2节+新闻、报告阅读 .ppt
- 2012届高考语文福建人教版学海导航新课标高中总复习(第1轮)课件:第8章第3节+科普 .ppt
- 2012届学海导航高中总复习(第1轮)语文:第1章_第5节_正确使用熟语(2).ppt
- 2012年《随堂优化训练》地理+中国地图版+必修一+第二章+第一节+第1课时+大气的受热过程+配套课件 .ppt
最近下载
- 2025届高考专题复习:语言文字运用中的逻辑问题.pptx VIP
- 《认知觉醒》一部普通人的进阶宝典培训课件.pptx
- 七年级历史下册 第一单元 综合测试卷(人教陕西版 2025年春).doc VIP
- itp护理课件可编辑.pdf VIP
- 2024年全国普通高等学校运动训练、民族传统体育专业单招统一招生考试语文模拟测试(十).docx
- 全国优质课一等奖初中音乐《老鼠娶亲》公开课课件.pptx
- 七年级历史下册 第一单元 综合测试卷(人教版 2025年春).pdf VIP
- 2024中资企业在越南发展报告.docx
- 2025年高考数学复习大题题型归纳:圆锥曲线中的轨迹问题(原卷).pdf VIP
- 可编辑鱼骨图模板下载.docx VIP
文档评论(0)