T31训练营已经进行了3周了,时间也只剩1/3了 坚持一件事情并不是那么容易,愿每个开发者小伙伴们可以继续坚持自己选择的路走下去。本篇文章将记录这周笔记有关内容梳理
JAVA代码避坑
浮点数的处理
• 正确的选择数据类型
• 货币数据类型的选择
• 浮点数据类型的问题:精度丢失
• 浮点数据避坑
日期数据的处理
• 日期数据类型
• Jdk8新增API的优势
• 日期格式化需要注意的问题
控制语句的避坑规范
• 控制语句之switch
• 控制语句规约
• 控制语句好习惯
• 需要/不需要 参数校验的场合
优雅的面向对象
• OOP 面向对象编程
• 面向对象四大特征:抽象、封装、继承、多态
• 七大设计原则
• OOP规约
>@Override
>可变参数
>方法重载
>对象的比较
>方法及属性
集合与并发编程
系统功能树
• 用例图与功能树
• 部署图
>关注部署元素:微服务、数据库
>关注部署关联元素:注册中心、消息中间件
集合规约
• 数据结构与时间复杂度
• HashMap基本概念
• ArrayList的subLIst结果不可强转成ArrayList
并发处理
• 并行与并发的区别
• 线程安全
• 什么是锁
• AQS透过现象看本质
• Lock、AQS与AOS的关系
• 程序=数据结构 + 算法
• 线程与线程池的奥秘
OAuth2
OAuth2是什么
• OAuth2用在哪
• OAuth2是什么
为什么要用OAuth2
• 单体架构: cookie session 机制
• 分布式架构方案:session 共享
• 分布式架构方案:基于token
• Cookie session 和 token 的区别
OAuth2怎么用
• 工程结构
• 依赖构件
• 授权服务器配置
• 资源服务器配置
授权模式
• 授权码模式
• 简化模式
• 密码模式
• 客户端模式