

这篇是最近重发的JVM调优相关的文章汇总,考虑到应该隶属于高并发的服务端优化系列,现在系列文章涉及到了这一块,为了完整性就汇总在一起来填补这块的内容。看过的可以忽略,建议收藏,万一后面有遇到可以做个参考。
前言
JVM调优,是一个JAVA工程师在进阶道路上的必经之路。每一次真实的生产环境下的调优经历和总结,都对整个JVM体系知识的融会贯通有很大的作用。
Java为了实现跨平台、高度抽象等特性,增加了JVM来实现Java代码到机器码的转换。这给运行速度增加了不少损耗,但是好处也很多,诸如内存管理、垃圾回收等容器级通用功能,让研发人员可以更加聚焦业务。
其中,GC技术用来进行内存自动管理,避免手动管理带来的指针悬挂问题,让开发人员可以不再过多的关注内存,很大程度上提升了开发效率。
然而,有利也有弊,这种类黑盒的管理功能,让我们开发同学对内存的把控程度有所下降。发生问题时的排查成本也随之增加。
GC日志是很多jvm问题排查和定位的第一道工具。比如
生产环境GC日志要遵循够用就好的原则,因为GC日志的打印时间也会被算在STW中。那么,需要打印哪些,怎么设置对应的参数,就有一些讲究了。
主要列举了基础的必备参数以及一些比较关键的,或者说比较容易忽略,但是有可能引起GC异常的信息监控:如GC日志文件滚动、禁写Statistics数据、安全点相关参数等。
Young GC的问题其实是比较难排查的,这里汇总了一些可行的排查思路和方向,绝大部分应该都逃不出这个范围。
JVM调优大图一览

方法总比困难多,通过一次次的采坑,总结出了一些规范和行之有效的应对方向。希望对大家日常开发和问题排查有所帮助。
对于文章,或者对于JVM调优有什么问题,欢迎大家留言或者加好友探讨交流~
推荐阅读:
3. 高并发架构优化:从BAT实际案例看消息中间件的妙用
4. 高并发存储优化:细说数据库索引原理及其优化策略
5. 高并发存储优化:许是史上最详尽分库分表文章之一
6. 高并发存储优化:数据库索引优化Explain实战
7. 高并发存储番外:阿里数据中间件源码不完全解析
8. 高并发存储优化:诸多策略,缓存为王
9. 高并发存储番外:redis套路,一网打尽
10. 高并发服务优化:浅谈数据库连接池
11. 高并发服务优化:详解RPC的一次调用过程
12. 高并发服务优化:详解一次由读写锁引起的内存泄漏
任何问题和意见、建议,欢迎菜单栏添加好友,交流学习~