搞java开发,看懂JVM的GC日志真的很重要

本文详细介绍了JVM的GC日志,包括GC的概念、垃圾回收算法,以及Minor GC和Major GC的区别。通过分析GC日志,我们可以理解内存清理过程,定位潜在的内存故障和性能瓶颈。文中还提供了GC日志实例解析,帮助开发者更好地理解和解决Java程序中的GC问题。
摘要由CSDN通过智能技术生成

推荐阅读:蚂蚁三面被虐惨,原因竟是spring,jvm,mybatis,并发一窍不通

                  为面阿里P8,我肝了一份651个技术分支的脑图,要么?(限时领)

今天整理的这篇文章,整理自以前记录的日常笔记。

刚开始接触JVM时,对待GC的日志,是保持"逃避"态度的,线上部署的程序没有达到期望的运行效率,或是预期目标时,往往会把问题的矛头指向内存上。

是不是内存不够?

搞java开发,看懂JVM的GC日志真的很重要

 

GC日志怎么这么多?占用磁盘高达几个G?

搞java开发,看懂JVM的GC日志真的很重要

 

不想看到打印怎么多,甚至暴力的将程序日志屏蔽掉。

搞java开发,看懂JVM的GC日志真的很重要

 

我也曾经这样干过,写过的程序,同样导致过内存溢出,甚至是主机宕机。

是的,java中的垃圾回收的确帮我们省了很多事,我们不像C/C++程序员一样,

需要考虑分配(malloc)内存分配与(free)释放内存,但我相信每个java开发的小伙伴都会遇到GC问题,无论是在程序的性能优化,还是故障分析上。

我们应该在一次又一次的失误中获得经验和教训,而不是去逃避或是草草解决问题了事。同样的知识点,回顾两次,就会产生 1 + 1 > 2 的效应 。

所以这篇文章我们来谈谈大家耳熟能详的JVM的 GC日志。

 

GC 日志是什么

首先来说一说GC的概念, GC 就是垃圾回收 (Garbage Collection) 的缩写。

何为垃圾?

没有任何引用指向的对象,被JVM视为垃圾。

当然,对应的判定算法有:引用计数算法、可达性分析算法。对应的回收算法有:标记清除、复制、标记整理、分代收集算法。

那GC的日志是什么呢?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值