Java---jvm优化学习笔记记录

浅谈jvm优化(暂时做个记录):

做jvm优化必须了解的基础:

1.jvm的运行参数以及参数的设置

三种:1.标准参数 2.-X参数   3.-XX参数(优化使用最高)

2.jvm的内存模型(堆内存)

年轻代,老年代,(1.7之前的永久代,1.8之后废弃)

3.GC算法的原理与优缺点以及怎么合理配置

GC常用算法:

  1.引用计数法:(缺点:不能解决循环引用的问题) 2.标记清除法:(缺点:内存碎片化问题,效率问题) 3 标记压缩法:(缺点:效率问题) 4. 复制算法(缺点:内存使用率低,垃圾对象少的情况不适用)5.分代算法(jvm使用,针对不同的内存模型代使用不同的算法)

垃圾收集器:

1.串行垃圾收集器:是指使用单线程进行垃圾回收,垃圾回收时,只有一个线程在工作,并且java应用中的所有线程都要暂停,等待垃圾回收的完成。这种现象称之为STW(整个世界都停止)。一般不适用企业应用。如果查看jvm日志看到使用这种垃圾收集器可以重点查看。

2.并行垃圾收集器:并行垃圾收集器在收集的过程中也会暂停应用程序,这个和串行垃圾回收器是一样的,只是并行执行,速度更快些,暂停的时间更短一些。

3.CMS垃圾收集器:是一款并发的、使用标记-清除算法的垃圾回收器,该回收器是针对老年代垃圾回收的,通过参数

-XX:+UseConcMarkSweepGC进行设置。

4.G1垃圾收集器:G1垃圾收集器相对比其他收集器而言,最大的区别在于它取消了年轻代、老年代的物理划分,取而代之的将堆划分为若干个区域(Region),这些区域中包含了有逻辑上的年轻代、老年代区域。这样做的好处就是,我们再也不用单独的空间对每个代进行设置了,不用担心每个代内存是否足够。oracle官方计划在jdk9中将G1变成默认的垃圾收集器,以替代CMS。

今天就浅谈jvm的优化到这里,有什么不对的望 指出,下一篇再慢慢详细说明jvm参数配置,怎么定位内存溢出问题,怎么调整jvm参数进行优化,怎么对Tomcat进行优化等

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值