当Java程序性能达不到目标,且代码上的优化手段都已经穷尽时,通常需要调整垃圾回收器和JVM内存空间配置来进一步提高性能,这就是JVM调优。

在调优的时候,我们必须要知道调的是什么,为什么要这样调,这些跟基础知识密不可分。

比如要知道内存结构、垃圾收集机制、算法、收集器,还要知道如何从GC日志中得到调试的效果,那么本系列文章将带你回顾调优用到的JVM基础知识。然后实战调优一把,最后我会总结出一个调优的套路,不论在实战还是面试中都能用上

在生产环境中,我们无法通过断点调试、新增log、可视化工具去立马查看当前的运行状态和拿到错误信息,此时,借助Java自带的命令行工具以及相关dump分析工具以及一些小技巧,可以大大提升我们排查问题的效率

面试官:你用过JUC的哪些工具类?

前面从基础开始,到线程安全的实现、对象的发布与共享,涉及到很多线程安全的类与工具,JDK1.5开始,提供了更加方便强大的线程同步管理工具包JUC让我们使用,这个也是面试与实践中的重点,本文结合源代码作一些比较落地的讲解。