4006-998-758
3000+课程任你选择
java设计模式和性能调优
研发学院 开课时间:2021-07-28
曹雪松

曾担任淘宝技术总监、华胜天成项目经理,精通软件设计的理论、实践和工具,有10年以上的大型项目研发及项目管理经验,曾经策划多个大型项目与网站的架构,主持过访问量达亿级大型网站,熟悉大型网站的优化与运维。掌握多种开发平台熟悉各种中间件框架平台,研究过大量开源的框架平台,经过多年实践形成自己架构风格,擅长Java、javaEE方面的各种技术; 在软件架构、设计模式、详细设计、重构、海量数据处理和优化、中间件技术、nosql等方面有丰富的实践经验亲自参与实施项目:淘宝数据魔方,淘宝服务平台,国电调试所项目管理系统,中科院子午工程数据与通信系统,某大型电子商务网站架构、项目管理、性能优化,苏州金莱克洁具有限公司ERP项目,苏州海关保税加工辅助核销系统等。


查看老师详情
课程内容

课程大纲


课程主题

课程内容

第一部分 面向对象设计原则

1、    软件的可维护性与可复用性

(1)软件系统的可维护性

(2)软件系统的可重用性

2、什么是优秀的设计

3、引入案例 (影片租赁系统)

4、软件设计原则

(1)开闭原则(ocp)

(2)里氏替换原则(lsp)

(3)依赖倒置原则(dip)

(4)接口隔离原则(isp)

(5)合成/聚合服用原则(carp)

(6)迪米特法则(lod)

第二部分 创建型设计模式

1、工厂方法(method factory)模式

(1)引入与结构

(2)农场系统中的实现

(3)java语言中工厂方法的应用

2、抽象工厂(abstract   factory)模式

(1)引入和问题

(2)结构

(3)使用场景优缺点

(4)农场系统中的实现

(5)其它案例分析以及与java反射机制的综合运用

3、单例(singleton)模式

(1)引入和结构

(2)java中的实现(多种实现方式)

(3)使用场景

(4)单例模式在开发中的实际应用

(5) 序列键生成器实现

(6) 多例模式

4、构建(builder)模式

(1)引入和结构

(2)构建模式的活动序列和实现

(3)构建模式在javaMail技术中的使用

(4)构建模式的使用场景优缺点

5、原型(prototype)模式

(1)引入,变量、对象、对象的引用

(2)java对象的复制

(3)原型模式的实现

(4)深拷贝和浅拷贝

(5)使用场景及优缺点


1、适配器(adapter)模式

(1)引入

(2)类的适配模式效果和实现

(3)对象的适配模式效果和实现

(4)使用场景和优缺点

(5)适配模式在架构层次上的应用

 ( 6 )    缺省适配器

2.桥梁(bridge)模式

(1)引入与结构

(2)驱动器和jdbc驱动

(3)代码重构角度看桥梁模式

(4)实现

(5)使用场景及优缺点

3、合成(composite)模式(简述)

(1)通过对象的树结构引入并简介

(2)安全式和透明式的合成模式

(3)安全式的合成模式

(4)透明式的合成模式

(5)合成模式的实现

4、装饰(decorator)模式

(1)引言与结构

(2)安全式和透明式的合成模式

(3)使用场景和优缺点

(4)发票系统案例

(5)装饰模式的实现

5、java io专题中设计模式的使用

(1)java io库的设计原则

(2)装饰模式的应用

(3)半透明装饰模式的使用

(4)适配模式的使用

(5)从byte流到char流的适配

6、门面(facade)模式

(1)引入与结构

(2)门面模式的实现

(3)使用场景和优缺点

(4)session中的门面模式

7、享元模式(flyweight   pattern)

(1)引入

(2)单纯享元模式的结构

(3)复合享元模式的结构

(4)模式的实现

(5)使用场景和优缺点

8、代理(proxy)模式

(1)引入

(2)静态代理的结构和实现

(3)动态代理的结构和实现

(4)代理模式的使用场景和优缺点

 ( 5 ) cglib代理

(6)RPC 中的使用

第四部分 行为型设计模式一

1、责任链(chain of   responseibility)模式(简述)

(1)从击鼓传花引入

(2)结构

(3)实现

 (4) 餐费审批案例

2、命令(command)模式

(1)引入与结构

(2)java语言内的案例:awt事件机制

(3)实现

(4)在视图中使用命令模式

(5)随身听使用案例

3、解释器(interpreter)模式(简述)

(1)引入和结构

(2)解释器模式实现

(3)一个示意性的实现

4、迭代(iterator)模式(简述)

(1)引入和结构

(2)实现

(3)使用场景和优缺点

(4)java语言中队迭代模式的支持

5、调停者(mediator)模式(简述)

(1)引入和结构

(2)调停者模式的实现

(3)使用场景和优缺点

6、备忘录(memento)模式(简述)

(1)备忘录模式的结构

(2)白箱实现

(3)黑箱实现

(4)备忘录模式的应用

(5)使用场景和优缺点

第五部分  行为型设计模式二

1.观察者(observer)模式

(1)引入与结构

(2)实现

(3)java语言对观察者模式提供的支持

(4)案例及使用

2、状态(state)模式

(1)引入与结构

(2)效果和场景

(3)状态模式在投票系统中的使用

3、策略(strategy)模式

(1)引入

(2)实现

(3)java内部的例子

(4)图书折扣案例

(5)使用场景和优缺点

(6)认证案例

4、模板方法(template   method)模式

(1)引入与结构

(2)java语言中模板方法模式的使用

(3)模板方法模式在系统开发异常处理中的应用

(4)模板方法在代码重构中的应用

5、访问者(visitor)模式(简述)

(1)引入与结构

(2)系统的时序图

(3)使用场景和优缺点

(4)访问者模式的实现

(5)电脑专卖系统中的实际应用

第六部分 设计模式综合使用

1.java线程异步设计与模式

2.日志系统中设计模式的使用

3.包装jdbc操作设计模式的使用

4.异步并行加载框架设计模式的使用

 

 

 

 

 

 

第七部分

深入jvm

 

一、深入理解JVM

1.Java代码的执行机制(编译,类加载,执行机制)与优化

2.Java内存管理(内存空间、分配、回收、查看方法和工具)与优化

   2.1内存分配原理

   2.2垃圾回收原理

   2.3如何写出利于垃圾回收的代码

   2.4JVM调优配置,实例解析

3.JVM线程资源同步及交互机制

三、性能调优综述

1. 寻找性能瓶颈(cpu消耗分析、文件IO消耗分析、网络IO消耗分析、程序执行慢的原因分析)

2.如何发现性能问题并解决

3. 调优综述(jvm调优、程序调优、资源消耗低执行慢的情况调优)

4.java中内存泄漏问题和查找

5.一些基本监控工具的使用

 

 

 

 

 

第八部分

jdk核心库优化

一、集合包下核心类源码及性能分析

     1.ArrayList源码分析和使用优化

   2.HashMap源码分析和使用优化

   3.序列化优化

二.并发包java.util.concurrent下的类的使用与性能调优

  1.java线程异步机制

  2.java新线程锁机制

  3.java线程池处理、阻塞队列

  4.实例.java线程在异步并行加载框架中的使用

            Java线程并发解析日志原理分析与实现

 

 

 

 

 

第九部分

IO优化

 

一、IO模型解析

1.同步阻塞IO原理解析及案例

2.同步非阻塞IO原理解析及案例

3.AIO原理解析及案例

4.IO多路复用在java中的实现

二、RPC框架

1.MINA框架简介

2.NETTY框架简介

三、TCP的粘包/拆包

1.粘包/拆包原理解析

2.粘包/拆包案例分析

3.粘包/拆包的解决方案

四、序列化

1.序列化性能问题解析

2.netty中序列化解决方案

3.业界常用的编解码方案

 

 

第十部分

缓存调优

一、常用缓存

1.对象缓存的使用

2.享元模式讲解

3.数据库前端缓存设计及数据一致性详解

二、分布式缓存服务器

1.Memcached实践及常见问题

2.Redis实践及常见问题


返回上一级