标签:一个 参数 ons 复制 字节码 优化 生命周期 提高 对象
一.jvm分为年轻代,年老代,持久代2.年老代:年老代主要存放JVM认为生命周期比较长的对象(在扫描Suvivor Space时,如果对象已经经过了几次的扫描仍然存活,JVM认为其为一个持久化对象,则将其移到Old Gen。)
3.持久代:持久代主要存放类定义、字节码和常量等很少会变更的信息。
二.引出gc算法
年轻代使用的是复制算法(避免频繁创建对象导致碎片过多,一般会对算法优化来规避算法占用内存的问题,优化后有效内存能近乎达到百分之90,估计也不会问那么多,点到为止)
年老代使用的标记-整理算法(因为较少的发生gc,使用标记整理算法提高内存利用率)
直观的对比:
效率:复制算法>标记-整理算法
内存整齐度:复制算法=标记-整理算法
内存利用率:标记-整理算法>复制算法
三.如何实施调优
jvm参数设置,根据机器性能为程序运行分配合理区大小
四.善后工作
使用jdk自带的jvisualvm,jconsole等工具监测程序是否发生线程阻塞,内存泄漏,以及观察gc频率是否存在异常等
标签:一个 参数 ons 复制 字节码 优化 生命周期 提高 对象
原文地址:https://blog.51cto.com/13665344/2423931