课程大纲
课程主题 | 课程内容 |
第一部分 深入jvm及JVM调优
| 1. JVM 基础知识、Java 字节码技术、JVM 类加载器、JVM 内存模型、JVM 启动参数详解 2. JDK 内置命令行工具、JDK 内置图形界面工具、JDWP 简介、JMX 与相关工具 3. 常见的 JVM GC 算法(Parallel GC/CMS GC/G1 GC)基本原理和特点 4. 新一代 GC 算法(Java11 ZGC/Java12 Shenandoah) 和 Oracle GraalVM 5. GC 日志解读与分析、JVM 的线程堆栈等数据分析、内存 dump 和内存分析工具 6. fastThread 相关工具以及面临复杂问题时的几个高级工具的使用 7. JVM 问题排查分析的常用手段、性能调优的最佳实践经验 8. JVM 疑难问题分析 |
第二部分 Java核心库性能调优
| 一、集合操作 1.ArrayList类、LinkedList类使用及源码分析 2.HashSet、TreeSet使用及源码分析 3.HashMap、TreeMap使用及源码分析 4.集合类性能分析及调优 二、IO操作 1.java编码问题 2.常见IO操作及优化 3.java IO源码设计讲解及设计模式的使用 4. 序列化及优化 三、反射操作 1.java.lang.Class的深入使用 2.方法的反射 3.成员变量的反射 4.数组反射的使用 5.框架的机制和反射 |
第三部分 线程并发技术 | 一、java多线程技术 1.线程的创建 2.线程的声明周期 3.线程的互斥 4.线程的通讯 二、java新线程技术 1.Java线程并发库的应用 2.Callable与Future的应用 3.Java新线程锁技术、读写锁技术的应用 4.Java新线程通讯 5.Java新同步工具的使用 6.Java阻塞队列的应用 7.Java同步集合类的应用 三、Java多线程调优 1.深入理解Synchronized同步锁的优化方法 2.深入理解Lock同步锁的优化方法 3.使用乐观锁优化并行操作 4.哪些操作会导致上线文切换 5.并发容器的使用:识别不同场景下的左右容器 6.如何设计线程池的大小 7.优化多线程业务 8.什么是数据的强、弱一致性 |
第四部分 Java网络通讯 | 一、Java网络编程 1. java网络编程基础 2. 可以私聊和群聊的聊天室实现 3. RPC实现 二、RPC调优 1. RPC性能问题分析 2.数据协议分析和调优 3.IO模型分析和调优方案 4.线程模型分析和调优方案 三、基于NIO的SOCKET通讯 1.NETTY框架基本使用讲解 |