课程主题 | 课程内容 |
第一部分 Java面向对象设计原则及设计模式 | 一、 面向对象设计原则 1、 开闭原则 2、 单一职责原则及案例分析 3、 接口隔离原则及案例分析 4、 里氏替换原则及案例分析 5、 依赖倒置原则及案例分析 6、 迪米特法则及案例分析 7、 组合/聚合复用原则及案例分析 二、常用设计模式 1、创建型模式 1.1线程异步案例引入,IOC思想分析,AOP思想分析 1.2工厂模式及案例分析(简单工厂、工厂方法、抽象工厂) 1.3 单例模式及案例分析 1.4 原型模式(深拷贝、浅拷贝) 1.5 构建者模式及案例分析 1.6 综合案例(射击游戏中创建型模式的使用) 2、常用结构行模式 2.1适配器模式及案例分析 2.2装饰器模式及案例分析 2.3 代理模式及案例分析 2.4 享元模式及案例分析 2.5 jdk中常用结构性模式分析 3、常用行为型模式 2.6 命令模式及实际使用 2.7 观察者模式及实际使用 2.8 策略模式及实际使用 2.9 模板方法设计模式及案例使用 2.10 状态模式实际使用 4、设计模式综合案例 4.1.java线程异步设计案例 4.2.日志系统中设计模式的使用 4.3.包装jdbc操作设计模式的使用 4.4.异步并行加载框架设计模式的使用 |
第二部分 多线程性能优化 | 一、线程安全与锁优化 1、深入理解Synchronized同步锁及锁优化方法 2、深入理解Lock同步锁及锁优化方法 3、使用乐观锁优化并行操作 4、哪些操作会导致上线文切换 5、并发容器的使用:识别不同场景下的左右容器 6、如何设计线程池的大小 7、优化多线程业务 8、什么是数据的强、弱一致性 二、JavaWeb 并发编程 与 高并发解决方案 1、竞拍活动案例分析 2、秒杀活动案例分析 3、高并发通用的设计方法 3.1横向扩展(及案例分析) 3.2异步 (及案例分析) 3.3 缓存(及案例分析) |
第三部分 深入jvm | 一、 深入JVM 1、 java编译、加载、执行原理分析 2、 java内存分配机制 3、 java垃圾回收机制 4、 java部分集合类源码分析 5、利于垃圾回收的代码 二、jvm性能检测及调优 1、深入jvm即时编译器JIT,优化java编译器 2、如何优化垃圾回收机制 3、如何优化jvm内存分配 4、内存持续上升,如何排查 5、案例分析 三、常用的监控和诊断内存工具 1、Linux命令行工具之top命令 2、Linex命令行工具之vmstat命令 3、Linux 命令行工具之 pidstat 命令 4、JDK 工具之 jstat 命令 5、JDK 工具之 jstack 命令 6、JDK 工具之 jmap 命令 7、其它常用工具 四、jdk新特性 1、新的类库、工具 2、jdk9,10,11的新特性 3、移植指南 |
第四部分 JDBC调优 | 一、数据库的体系结构及执行原理 1、mysql架构组成(一条查询语句的执行原理剖析) 2、mysql日志系统(一条修改语句的执行原理剖析) 3、MYSQL的事务隔离 4、深入浅出MYSQL索引 5、MYSQL锁原理(全局锁、表锁、行锁剖析) 二、调优实战(索引调优为主) 1、普通索引和唯一性索引的执行原理和选择剖析 2、MYSQL优化器选错索引原理剖析 3、如何给字符串字段加索引 4、mysql出现“抖一下”原理剖析和实践优化 5、页分裂、页合并、页空洞等问题剖析(表数据删除一半,表文件大小不变的原理分析) 6、日志和索引相关问题剖析答疑 7、索引失效情况原理、案例分析 |
第五部分 应用性能分析 | 一、 高性能分析 1. 时间都花在哪里了 2. 架构优化分析 二、 记一次双十一抢购性能瓶颈调优 1、OS 层面分析 2、JVM 层面分析 3、应用程序层面分析 4、文件IO处理处理及优化 5、分布式缓存调优 |