大数跨境
0
0

Java高效编程最佳实践培训班

Java高效编程最佳实践培训班 企业培训咨询服务李正华
2024-04-03
0
导读:Java高效编程最佳实践 Java开发 中级班一、为什么需要该课程

Java高效编程最佳实践

                       Java开发 中级班

一、为什么需要该课程

从诞生之初直至现在,Java一直是最流行的编程语言之一。而在计算机世界里,变化是常态。几年的时间,计算机世界就可能发生天翻地覆的变化。处理器处理能力的增长,网络带宽的增长,以及编程方法论的进步等,意味着如今的开发环境与几年前发生了不小的变化,遑论20年前。这么多年以来,Java一直保持着旺盛的生命力,被众多公司采纳,受到众多程序员的喜爱,这自然与其不断地根据外界的变化调整更新自身的能力密切相关。

Java的最新发布版本是Java SE21。相比以前的版本添加了几个新特性,比如极为重要的lambda表达式,以及java.util.stream包中提供的流API。另外也在其他地方做了重要更新,比如允许接口方法具有默认实现。这些新的特性无疑会让程序员的工作变得十分方便,不过这也意味着程序员要改变固有的思维方式,在更适合使用新特性的地方积极运用它们。考虑到这些特性的重要性,本课程用了大量时间的来探讨这些新特性。

Java是一门生命力极强的语言,可以预见未来仍会随着开发环境的变化继续升级。希望读者通过本书,能够牢固地掌握Java的基础知识和思维方式,从而在Java推出新功能时,能够迅速掌握并加以运用!

该课程适应于各类开发人员技术人员.面向有编程经验的软件开发工程师,具有一定面向对象分析与编程基础,熟练使用过其他语言(如C语言,C++,VB等)等

二、课程内容安排(内容5天,课程顺序上课可能有一些调整

第1单元  Java体系介绍

内容一:Java语言概述和JVM虚拟机体系

1.Java语言概述

2.Java虚拟机概述

3.Java虚拟机的体系结构

4.Java虚拟机内存管理机制

第2 Java面向对象编程


内容一:面向对象基本原则

1.面向对象基本原则概述

2.SRP:单一职责原则

3.OCP:开放-封闭原则

4.LSP:Liskov替换原则

5.DIP:依赖倒置原则

6.ISP:接口隔离原则


内容二:Java面向对象编程思维

1、面向对象分析与设计的本质

2、面向对象设计思维与面向过程设计思维—职责驱动设计

3、抽象本质

4、封装本质

5、继承本质

6、多态本质

7、面向对象常见的错误认识—思考OO带来的价值

8、为什么学习设计模式需要面向对象思维

9、从面向对象到模式到再到真正的面向对象


内容三:Java面向对象编程实现

1、定义继承、多态、重载、虚拟方法调用 

2、使用访问修饰符protected和default (包内友好) 

3、描述构造函数和方法重载的概念 

4、描述完整对象创建和初始化工作

5、创建静态变量、方法和初始化 

6、创建并使用枚举类型 


内容三:java接口与抽象类

1、java接口

2、接口的特性

3、接口与抽象类

4、接口与回调

5、内部类 

6、匿名内部类


内容四:java面向对象编程最佳实践

1.使类和成员的可访问性最小化 

2.要在公有类而非公有域中使用访问方法 

3.使可变性最小化 

4.复合优先于继承 

5.要么设计继承并提供文档说明,要么禁止继承 

6.接口优于抽象类 

7.为后代设计接口 

8.接口只用于定义类型 

9.类层次优于标签类 

10.静态成员类优于非静态成员类 

11.限制源文件为单个顶级类  


第3 Java工程师必备设计模式 

内容一:创建型模式(principles)

1、简单创建型工厂

1. Factory Method(工厂方法)(结合spring,无需手工编写

2.  Builder(生成器) (结合Lombok)

3.  Singleton(单件)(结合spring,无需手工编写)

2、java创建型模式的讨论


内容二:结构型模式(principles)

1.Adapter(适配器)—类对象结构型模式

2.Composite(组成)—对象结构型模式

3.FACADE(外观)—对象结构型模式

4.Proxy(代理)—对象结构型模式


内容三:行为型模式(principles)

1.CHAIN OF RESPONSIBIL ITY(职责链) —对象行为型模式

2.OBSERVER(观察者)—对象行为型模式 

3.STATE(状态)—对象行为型模式 

4.STRATEGY(策略)—对象行为型模式

5.TEMPLATE METHOD(模板方法)—类行为型模式


内容四:软件设计的灵活性-结合案例分析设计模式的应用

1.什么是好的设计和衡量的手段,世界大师的观点(Robert C Martin , Peter Code,` James Shor)

2.一个好的系统设计应该有如下的性质:可扩展性、灵活性、可插入性。-Peter Code [CODE99]

3.可扩展性(Extensibility)容易添加新的功能. 结合案例,通过那些手段如何实现该目标

4.灵活性(Flexibility)代码修改平稳地发生. 结合案例,通过那些手段如何实现该目标

5.可插入性(Pluggability)容易将一个类抽出去,同时将另一个有同样接口的类加入进来. 结合案例,通过那些手段如何实现该目标

6.分析真实项目,如何做的详细设计,给我们哪些启示,我们可以学习到什么

7.分析我们在项目之中是那些原因导致了没有实现这些目标.


内容五:设计原则-结合案例分析设计模式的应用

1.发现和封装变化的原则

2.找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码交织在一起.

3.抽象稳定接口(抽象类),针对接口编程,而不是针对实现编程

4.分离变化维度,单一职责原则

5.动态绑定还是静态绑定,多用组合,少用继承

6.创建与使用分离,创建有变化也要封装

7.结合多个案例项目进行分析,怎样发现和封装变化,如何通过具体的手段来进行适应这些变化


第4  Java日志系统最佳实践 1.Log4j2/logback 

2.日志代码的一般模式

a)Class 作为日志名称

b)Level的选择

c)异常与日志

i.需要说明判明关键输出点,以免程序重复try/catch 输出大量重复的异常内容

3.开发与生产级别日志系统的配置

a)日志与级别

b)常见的日志输出格式pattern (时间,线程,级别)


内容二: Log4j和logback 源代码分析—优秀系统的设计思想

1.Log4J、Logback源码分析

2.Log4j,Logback设计思想

3.Log4j,Logback设计模式应用


第5  Java函数式编程

内容一:Java常见的编程范式 

1.编程范式概述

2.编程范式起源

3.面向过程编程

4.面向对象编程

5.命令式编程(Imperative)、声明式编程(Declarative)

6.函数式编程


内容二:Java函数式编程

1.什么是函数式编程

2.Lambda 表达式

3.第一个Lambda 表达式  

4.如何辨别Lambda 表达式

5.流

6.将现有代码库和库代码Lambda化

7.学习Lambda表达式单元测试和调试的实践解决方案

8.用Lambda表达式实现面向对象编程的SOLID原则

9.Lambda 表达式改变了设计模式

10.使用Lambda 表达式的领域专用语言

11.使用Lambda 表达式的SOLID 原则

12.使用Lambda 表达式编写并发程序


第6  Java函数流式编程

内容一:Java流编程- Stream 

1.Java Stream 流是什么

2.Java Stream流简介

3.java Stream流与集合

4.Java Stream流操作

5.Java Stream筛选和切片

6.Java Stream查找和匹配 


内容二:Java Stream最佳实践

1.Lambda优先于匿名类 

2.方法引用优先于Lambda 

3.坚持使用标准的函数接口 

4.谨慎使用Stream 

5.优先选择Stream中无副作用的函数 

6.Stream要优先用Collection作为返回类型 

7.谨慎使用Stream并行


第7  Effective Java编程—通用编程技术

内容一:创建和销毁对象

1.遇到多个构造器参数时要考虑使用构建器 

2.用私有构造器或者枚举类型强化Singleton属性 

3.通过私有构造器强化不可实例化的能力 

4.优先考虑依赖注入来引用资源 (结合spring) 

5.避免创建不必要的对象 

6.消除过期的对象引用 

7.避免使用终结方法和清除方法 

8.try-with-resources优先于try-finally


内容二:对于所有对象都通用的方法

1.覆盖equals时请遵守通用约定 

2.覆盖equals时总要覆盖hashCode 

3.始终要覆盖toString 

4.谨慎地覆盖clone

5.考虑实现Comparable接口 


内容三:方法

1.检查参数的有效性 (org.springframework.util.Assert 或者org.apache.commons.lang3. Validate)

2.必要时进行保护性拷贝 

3.谨慎设计方法签名 

4.慎用重载 

5.慎用可变参数 

6.返回零长度的数组或者集合,而不是null 

7.谨慎返回optinal 

8.为所有导出的API元素编写文档注释


内容四:通用编程

1.将局部变量的作用域最小化 

2.for-each循环优先于传统的for循环 

3.了解和使用类库 

4.如果需要精确的答案,请避免使用float和double 

5.基本类型优先于装箱基本类型

6.如果其他类型更适合,则尽量避免使用字符串 

7.了解字符串连接的性能 

8.通过接口引用对象 

9.接口优先于反射机制 

10.谨慎地使用本地方法 

11.谨慎地进行优化 

12.遵守普遍接受的命名惯例


第8  Java异常与错误处理

内容一:Java异常与错误处理

1.只针对异常的情况才使用异常 

2.对可恢复的情况使用受检异常,对编程错误使用运行时异常 

3.避免不必要地使用受检异常 

4.优先使用标准的异常 

5.抛出与抽象对应的异常 

6.每个方法抛出的所有异常都要建立文档 

7.在细节消息中包含失败-捕获信息 

8.努力使失败保持原子性 

9.不要忽略异常  

推荐阅读

1.值得收藏的电子产品20多种认证;

2.环境及可靠性试验设备选择的基本原则;

3.电阻器常见的失效模式与失效机理;

4.LCD屏的电磁兼容整改及设计技术分析;

5.工程师必读:如何在型号研制过程中控制电子元器件的可靠性;

6.给企业带来巨额损失的PCB“黑盘”,可以规避;

7.EMC整改分析—散热结构引起的ESD问题

8.电子元件的可靠性与可靠性试验;

9.LED驱动电源如何进行EMC整改?;

10.信号完整性100条经验规则;

11.滤波器选择需注意的十个问题;

12.产品EMC辐射发射超标原因有哪些?

13.浅谈HALT(高加速寿命筛选试验)在可靠性设计中的应用......

直接在公众号(需先关注)对话框回复序列号即可查看,例如“1”。


中国电子标准协会培训中心(http://www.ltke.cn)专业提供可靠性设计、热设计、EMC培训、SMT工艺、电路设计、架构设计、研发管理、嵌入式软件测试、软件技术等课程及服务。欢迎来电来函咨询:0755-26506757 13798472936 martin@ways.org.cn
喜欢本文请點個贊并分享到您朋友圈哦!

【声明】内容源于网络
0
0
企业培训咨询服务李正华
提供可靠性设计/SI/PI/高速电路设计/EMC/热设计/ESD/SMT/UI/需求分析/Hadoop/架构/重构/Android/Linux/产品中试管理/研发团队管理/IPD/研发质量管理等等电子技术、软件技术及研发管理相关的培训和咨询
内容 464
粉丝 0
企业培训咨询服务李正华 提供可靠性设计/SI/PI/高速电路设计/EMC/热设计/ESD/SMT/UI/需求分析/Hadoop/架构/重构/Android/Linux/产品中试管理/研发团队管理/IPD/研发质量管理等等电子技术、软件技术及研发管理相关的培训和咨询
总阅读14
粉丝0
内容464