jvm调优面试怎么答?

一.jvm分为年轻代,年老代,持久代
1.年轻代:年轻代主要存放新创建的对象,垃圾回收会比较频繁。(稍微讲细一点就是即可,年轻代分成Eden Space和Suvivor Space。当对象在堆创建时,将进入年轻代的Eden Space。垃圾回收器进行垃圾回收时,扫描Eden Space,如果对象仍然存活,则复制到Suvivor Space。)

2.年老代:年老代主要存放JVM认为生命周期比较长的对象(在扫描Suvivor Space时,如果对象已经经过了几次的扫描仍然存活,JVM认为其为一个持久化对象,则将其移到Old Gen。)

3.持久代:持久代主要存放类定义、字节码和常量等很少会变更的信息。

二.引出gc算法
年轻代使用的是复制算法(避免频繁创建对象导致碎片过多,一般会对算法优化来规避算法占用内存的问题,优化后有效内存能近乎达到百分之90,估计也不会问那么多,点到为止)

年老代使用的标记-整理算法(因为较少的发生gc,使用标记整理算法提高内存利用率)

直观的对比:
效率:复制算法>标记-整理算法
内存整齐度:复制算法=标记-整理算法
内存利用率:标记-整理算法>复制算法

三.如何实施调优
jvm参数设置,根据机器性能为程序运行分配合理区大小

四.善后工作
使用jdk自带的jvisualvm,jconsole等工具监测程序是否发生线程阻塞,内存泄漏,以及观察gc频率是否存在异常等

  • 5
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值