JAV128:JAVA高级使用技巧及性能调优

开班计划时间:18 小时
  • 具体开课时间请咨询课程顾问
预约试听 马上咨询
课程介绍
适用对象:本课程面向想在技术领域成为佼佼者的朋友,面向走在Java高级程序员之路上的工程师,面向希望提高自己代码质量水平的程序员。
学习收获:理解代码质量内涵、代码质量优化理论、提高代码质量的手段。 掌握Java代码质量静态检查工具代码质量优化通用准则。 掌握优化多线程代码知识。
详细大纲
1 代码质量
1.1 什么是代码质量
1.2 什么是软件质量
1.3 代码质量与软件质量
1.4 代码质量优化理论
1.5 提高代码质量手段
1.6 代码质量优化通用准则
2 代码质量静态检查工具
2.1 静态分析技术概述
2.2 静态分析技术原理
2.3 静态分析技术给我们带来的好处
2.4 常用重要静态分析工具
2.5 如何优化静态分析工具
3 代码质量优化通用准则
3.1 避免使用空块
3.2 避免使用空类
3.3 去掉多余的import
3.4 剪切无效代码
3.5 制定命名体系规约
3.6 去掉重复代码
3.7 如何优雅使用switch语句
3.8 用大写L代替小写l定义Long变量
3.9 避免在一条语句中声明或赋值多个变量
3.10 去掉控制标志的临时变量
3.11 避免赋予临时变量过多的角色
3.12 在for循环内修正增量因子有什么弊端
3.13 10个温馨提示内容
3.14 8个代码优化技巧
3.15 1个编程解密
4 优化类与接口
4.1 避免创建不必要的对象
4.2 避免使用对象的浅拷贝
4.3 如何正确放置静态区位置
4.4 为什么不要使用静态引入
4.5 如何正确使用instanceof
4.6 避免实例化特有工具类
4.7 避免有深度耦合的类关系
4.8 如何为臃肿的类进行手术
4.9 如何优化冗赘类
4.10 避免在接口中出现实现代码
5 方法优化技巧
5.1 最小化原则
5.2 hashcode()与equals()
5.3 使用string.equal(String)带来的弊端
5.4 避免命名不具有继承关系的同名方法
5.5 检查参数的有效性
5.6 避免使用可变参数
5.7 如何优化过长参数
5.8 为什么不要重写静态方法
5.9 避免使用过时的API
5.10 优雅的集合运算方法
5.11 避免重复发明轮子
5.12 如何对臃肿的方法进行瘦身
6 优化代码性能
6.1 避免在大量字符串拼接时用“+”
6.2 避免在循环体内生成临时对象
6.3 在频繁插入与删除时使用LinkedList
6.4 在文件操作后要进行清理动作
6.5 代码重构:完美改造
6.6 避免显示调用finalized()方法
7 正确使用异常
7.1 避免定义继承Error或Throwable子类
7.2 避免抛出RuntimeException或Exception
7.3 避免捕获NullPointerException或Error
7.4 避免在finally块中处理返回值
7.5 避免使失败失去原子性
7.6 如何对异常进行封装
7.7 将优雅的异常信息反馈给用户
7.8 避免乱用异常
8 保证多线程代码质量
8.1 为什么不要重写start()方法
8.2 避免使用非线程安全的初始化方法
8.3 用final成员对象作为同期化对象锁
8.4 在synchronized内使用wait()方法
8.5 尽量缩小同期化代码范围
9 架构优化
9.1 单一职责原则
9.2 接口隔离原则
9.3 依赖倒置原则
9.4 里式替换原则
9.5 *少知道原则
9.6 如何扩展外部类功能
9.7 如何梳理混杂的架构体系
10 包优化
10.1 发布等价原则
10.2 共同重用原则
10.3 共同封闭原则
10.4 无环依赖原则
10.5 如何保持包的清晰
10.6 如何抽出框架层次
10.7 如何提取框架工程
11 优良代码风格
11.1 如何优化代码格式工具
11.2 如何统一标准的代码格式
11.3 养成良好的代码注释习惯
11.4 里式替换原则
11.5 *少知道原则
11.6 如何扩展外部类功能
11.7 如何梳理混杂的架构体系
12 初识JVM
12.1 JVM的概念
12.2 JVM发展历史
12.3 JVM种类
12.4 Java语言规范
12.5 JVM规范
13 JVM运行机制
13.1 JVM启动流程
13.2 JVM基本结构
13.3 内存模型
13.4 编译和解释运行的概念
14 常用JVM配置参数
14.1 Trace跟踪参数
14.2 堆的分配参数
14.3 栈的分配参数
15 GC算法与种类
15.1 GC的概念
15.2 GC算法、引用计数法、标记清除、标记压缩、复制算法
15.3 可触及性
15.4 Stop-The-World
16 GC参数
16.1 堆的回顾
16.2 串行收集器
16.3 并行收集器
16.4 CMS收集器
16.5 Tomcat实例演示
17 Java堆分析
17.1 内存溢出(OOM)的原因
17.2 MAT使用基础
17.3 浅堆(Shallow Heap)与深堆(Retained Heap)
17.4 显示入引用(incoming)和出引用(outgoing)
17.5 支配树
17.6 使用Visual VM分析堆
17.7 Tomcat OOM分析案例
课程评价

课程评价({{EvaluationTotal}})

课程满意度

评价

您还没有给课程评分哦

满意度

    追加评价:

课程咨询
内容:

您还没有填写内容!

暂无问答,赶紧去提问吧
{{item.AnswerState==1?"已解决":"未解决"}}
{{item.Content}}
{{item.StudentAskTime}}
{{itemanswer.UserName}}
{{itemanswer.Content}}
{{itemanswer.StudentAskTime}}
同类课程推荐 more
嘉为大讲堂 more
原创文章 more

您好! 欢迎来到学领未来 !

学领未来提供线上及线下的学习服务,根据您的位置,为您推荐最近的线下培训地点 分站,你选择: