JVM从入门到放弃-堆内存分配及垃圾回收过程


注意点:
1、当Eden区满了之后,利用可达性分析算法(主流Hotspot虚拟机采用的是该方法判断对象是否需要被GC),将标记为“非垃圾”的对象复制到S0区域,然后将Eden区域其余的垃圾被清除掉。
2、当第二次GC被出发的时候,将Eden区和S0区域的非垃圾对象复制到S1区域,同时清空Eden和S0
3、再次出发GC的时候,又将Eden和S1区域的非垃圾对象复制到S0区域,同时清空Eden和S1,这样会在S0和S1之间来回存放,没切换一次年龄标记+1,当一个对象垃圾回收减龄达到15次之后,该对象就会被放到老年代。
4、当老年代内存满了,再往老年代放对象的时候,会出发fullGC,到老年代里面没有垃圾对象被回收时,新生代还要往老年代放对象,那么就会出发oom
5、性能调优主要是减少垃圾回收次数,每次垃圾回收都会听到用户线程(stw:stop the world)
6、设计STW机制的目的:


java性能调优工具:
jvisualvm(java自带的性能调优工具,命令行直接输入命令打开)
Arthas (alibaba提供的开源工具,企业中用的比较多)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值