4006-998-758
3000+课程任你选择
Java Trouble-Shooting
研发学院 Java 线程堆栈分析、Java 内存管理 开课时间:2022-12-16
小马哥

曾获得 SUN Java(SCJP、SCWCD、SCBCD)以及 Oracle OCA 等的职业认证。作为 Apache Dubbo PMC 和 Spring Cloud Alibaba 架构师之一,主要负责中间件开源项目、微服务架构衍进,以及 Cloud Native 基础设施建设,所参与的项目现已运行在数以百万级的集群服务器上。

除了日常编码工作,小马哥还时常发表一些技术前瞻性文章,比如:
《2019 中国 Java 发展趋势报告》
《Reactive programming 一种技术 各自表述》
《Dubbo Cloud Native 实践与思考》

查看老师详情
课程内容

课程大纲


第一天上午Java 线程与并发

第一节 Java 线程堆栈分析

  •  线程 Dump :掌握 Java 工具和 API 等多种线程 Dump 技能

  •  理解线程堆栈:理解线程、锁以及线程的各种状态

  •  线程堆栈分析:分析线程死锁、CPU 使用率过高、资源不足、线程不退出等问题

第二节 通过 Java 线程堆栈进行性能瓶颈分析

  •  常见的性能瓶颈

  •  性能瓶颈分析手段和工具

第三节 Java 多线程与高并发

  •  Java 同步原语:从 JDK 级别到 JVM 级别,深度分析和理解 Java synchronized 、volatile 以及 CAS 操作等同步原语

  •  Java 线程 Liveness:实战演示 Java 线程死锁(DeadLock)和饥饿(Starvation)

  •  Java 线程通讯:结合 notify() 和wait() 实现线程间通信,并介绍常见错误案例

  • Java 线程池:掌握 Executor、ThreadPoolExecutor 、ScheduledExecutorService 以及 Callable 和 Future API 正确使用,防止并发问题

 

第一天下午 Java 内存管理和泄露

第一节 Java 内存管理

  • Java 内存区域:介绍 Java 内存区域的组成,深入讨论 Java Heap、方法区、JVM Stack 等职责范围以及设计目的

  •  Java 垃圾收集:介绍 Java 常见垃圾收集器,以及它们对应的收集算法,包括:Serial、Parallel、CMS、G1 等。

第二节 Java 内存泄露故障排查(上)

  • Java 内存泄漏:理解 Java 内存泄露的危害、以及常现场景,从而提升应用的健壮性

  •  Java OOM:理解 OOM 的含义,以及不同的场景类型

  • OOM 错误案例:分析 Java 内存泄露的症状,以及快速定位泄露位置(堆、Perm 或 Metasapce)以及解决方案

第三节 Java 内存泄露故障排查(下)

  •   诊断 JVM Crash :介绍 Java 内存泄露引起的 JVM 进程 Crash 的现象和排查手段

  •   诊断 Java 代码:讨论由 Java 代码引起的 Java 内存泄漏的特征以及如何借助诊断工具定位问题代码

  •   诊断 Native 代码:讨论由 Java Native 代码引起的 Java 内存泄漏的特征以及如何借助诊断工具定位问题代码

 

 


返回上一级