java故障排查工具包及优秀技术文章 - 高频面试必知必会系
2022-02-16 15:04:10 15 举报
AI智能生成
登录查看完整内容
阿里技术文章 阿里中间件团队技术文章 美团技术 小米信息部技术 爱奇艺技术产品
作者其他创作
大纲/内容
子主题
链接
如何做好技术 Team Leader?
阿里毕玄:提升代码能力的 4 段经历
如何编写有效的接口测试?
一个线上 SQL 死锁异常分析:深入了解事务和锁
多中心容灾实践:如何实现真正的异地多活?
优秀文章推荐
阿里技术
阿里资深技术专家崮德:如何成就更好的自己
如何避免让微服务测试成为研发团队最大的瓶颈?
我对技术架构的理解与架构师角色的思考
快手基于 RocketMQ 的在线消息系统建设实践
优秀推荐文章
阿里中间件团队
Java 中 9 种常见的 CMS GC 问题分析与解决
新一代垃圾回收器 ZGC 的探索与实践
设计模式在外卖营销业务中的实践
Java线程池实现原理及其在美团业务中的实践
数据治理一体化实践之体系化建模
美团技术年货:1200+页电子书,覆盖前后端、算法、数据、安全、测试、顶会论文
2021年美团技术团队最受欢迎的22篇技术文章
美团技术
后端开发实践——开发者的第 0 个迭代
后端开发实践系列——领域驱动设计(DDD)编码实践
写了十年技术博客,我收获了什么
重构的七宗罪
优秀技术文章
ThoughtWorks 洞见
设计模式基础之——模板模式业务实战
如何高效对接第三方支付
浅析 RPC 与基本实现
分布式事务,这一篇就够了
小米信息部技术团队
手机色情软件中的“偷拍者”
手机借贷中的偷拍者
优秀文章
360 核心安全技术博客
爱奇艺基础数据平台演进
爱奇艺埋点投递治理实践
爱奇艺技术产品团队
技术博客
Wireshark抓包使用指南 https://zhuanlan.zhihu.com/p/82498482
Wireshark
两张动图-彻底明白TCP的三次握手与四次挥手https://blog.csdn.net/qzcsu/article/details/72861891
TCP/IP
理论
抓包
字节大小换算工具https://www.bejson.com/convert/filesize/
如何计算Java对象所占内存的大小https://www.jianshu.com/p/9d729c9c94c4
字节大小换算工具
JVM heap dump分析 https://www.jianshu.com/p/c34af977ade1
HeapAnalyzer一般用法https://blog.csdn.net/miaoyibo12/article/details/90484584
IBM HeapAnalyzer是用于发现可能的Java堆泄漏的图形工具。https://www.ibm.com/support/pages/ibm-heapanalyzer
HeapAnalyzer
JVM性能调优之生成堆的dump文件https://blog.csdn.net/lipc_/article/details/52034743
Java内存泄漏分析工具Memory Analyzer Toolhttps://cloud.tencent.com/developer/article/1643827
Memory Analyzer Tool
JVM heap dump分析
Java8 jvm参数【官网】https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstat.html
JVM参数调优总结 -Xms -Xmx -Xmn -Xsshttps://blog.csdn.net/jakeswang/article/details/105380403
如何查看jvm中的各种参数以及默认值https://blog.csdn.net/wisgood/article/details/80117537
闲谈JVM(一):浅析JVM Heap参数配置https://blog.csdn.net/wtopps/article/details/106280491
PerfMa - Java虚拟机参数分析https://opts.console.perfma.com/
linux下查看jvm详细参数https://blog.csdn.net/weixin_43810394/article/details/93418224
专业工具
Java8 jvm参数【官网】
堆栈
深入理解JVM,7种垃圾收集器http://blog.itpub.net/69917606/viewspace-2656882/
Garbage First 收集器
最基础、历史悠久的收集器
定义
Serial 新生代只有一个GC线程,,Serial OLd老年代也只有一个GC线程
单线程工作,stop the world
新生代采用复制算法,暂停所有用户线程
新生代
老年代采用标记-整理算法,暂停所有用户线程
老年代
Serial & Serial Old收集器运行示意图
工作方式&原理
只适合客户端模式的虚拟机
优缺点
Serial 收集器
它是Serial 收集器的多线程并行版本。
ParNew新生代有多个GC线程,Serial OLd老年代只有一个GC线程
多线程进行垃圾收集
继承了Serial收集器可用的所有可用参数( -XX:SurvivorRatio、-XX: PretenureSizeThreshold、-XX:HandlePromotionFailure等 )、收集算法、Stop the World、对象分配规则、回收策略都与Serial收集器完全一致,在实现上两种收集器公用了很多代码。
ParNew / Serial Old收集器运行图
jdk7之前遗留系统中首选的新生代收集器,其中一个与功能、性能无关的但是其实很重要的原因:除了Serial收集器外,只有它能与 CMS收集器配合工作。
JDK7中
优点
1、遗憾的是,CMS作为老年代的收集器,却无法与 JDK1.4.0中已存在的新生代收集器 Parallel Scavenge配合工作,所以在 JDK 5中使用CMS来收集老年代的时候,新生代只能选择 ParNew 或者 Serial收集器中的一个。 ParNew收集器是激活 CMS后(使用-XX:+UseConcMarkSweepGC选项 )的默认新生代收集器,也可以使用 -XX:+/-UseParNewGC 选项来强制指定或者禁用它。
缺点
可以说直到CMS的出现才巩固了ParNew的地位,但是成也萧何败也萧何,随着垃圾收集器技术的不断改进,更先进的G1 收集器带着CMS继承者和替代者的光环登出。G1是一个面向全堆的收集器,不再需要洽谈新生代收集器的配合工作。所以自从JDK9开始,ParNew加上CMS收集器的组合就不再是官方推荐的服务端模式下的收集器解决方案了。官方希望它能完全被 G1所取代,甚至还取消了 ParNew 加 Serial Old以及 Serial加CMS这两组组合的支持(其实原本也很少人这样用),并直接取消了 XX:+UseParNewGC 参数,这意味着 ParNew和 CMS从此只能只能互相搭配使用。这可以理解从此以后, ParNew合并入CMS后,称为他专门处理新生代的租生部分。ParNew可以说是HotSpot虚拟机中第一款退出历史舞台的垃圾收集器。
G1要取代CMS
ParNew的地位
扩展
ParNew 收集器
Parallel Scavenge 收集器
Serial Old 收集器
Parallel Old 收集器
CMS 收集器
说明:如果两个收集器之间有连线,说明他们可以搭配使用[3],图中垃圾收集器所处的区域,则表示它是属于新生代收集器或者老年代收集器。
注意[3] :这个关系并不是一成不变的,由于维护和兼容性测试的成本,在 JDK 8 时将 Serial + CMS ,ParNew + Serial Old这两个组合声明为废弃(JEP 173 http://openjdk.java.net/jeps/173 ),并在JDK 9中完全取消了这些组合的支持(JEP 214 http://openjdk.java.net/jeps/214 )。
垃圾回收器之前关系的说明
并行描叙的是多条垃圾收集器线程之间的关系,说明同一时间多条这样的线程在协调工作,通常默认此时用户线程处于等待状态。
并行(Parallel)垃圾收集器
并发描叙的是垃圾收集器线程与用户线程之间的关系,说明同一时间垃圾收集器线程与用户线程都在运行。由于用户线程并未被冻结,所以程序仍然能响应服务请求,但由于垃圾收集器线程占用了一部分系统资源,此时应用程序的处理的吞吐量将受到一定影响。
并发(Concurrent)垃圾收集器
常见概念说明
垃圾回收算法哪些?
图片来源: https://blogs.oracle.com/jonthecollector/our_collectors
垃圾回收算法之间的关系
垃圾回收算法
什么是 Minor GC/Major GChttps://zhuanlan.zhihu.com/p/134546736
深入JVM彻底剖析ygc越来越慢的原因(上)https://blog.csdn.net/weixin_33755554/article/details/89159357
大对象直接进入老年代https://www.jianshu.com/p/485958b65523
垃圾回收
遇到内存泄漏Outofmemory怎么解决,看看阿里中间件P7大佬怎么说 https://blog.csdn.net/yunzhaji3762/article/details/111405492
内存泄漏
java性能优化 –gc日志收集与分析https://blog.csdn.net/a_ahreo/article/details/84793375
性能优化
java故障排查工具包及优秀技术文章 - 高频面试必知必会系列
收藏
0 条评论
回复 删除
下一页