2022年 - 年度目标
2022年年度目标
《高性能MySQL》慕课笔记
本笔记是观看慕课网视频 高性能可扩展 MySQL 数据库架构设计与优化 后记录。
第一章 数据库设计规范
第二章 数据库字段设计规范
第三章 数据库 SQL 开发规范
第四章 数据库操作行为规范
第五章 设计数据库分区表
第六章 MySQL 存储引擎
第七章 MySQL 执行优化
第八章 MySQL 慢查询日志
第九章 MySQL 数据库备份与恢复
第十章 MySQL 构架拆分
其他:MySQL 表结构实践 sql
其他 2:MySQL 常用命令
第一章 数据库设计规范1. 数据库 - 命名规范
所有数据库对象名称必须使用小写字母并用下划线分割
eg:DbName != dbname
eg: Table != table != tabLe
所有数据库对象名称禁止使用 MySQL 保留关键字
保留关键字:https://dev.mysql.com/doc/refman/8.0/en/keywords.html
数据库对象的命名要做到见名识义,并且最好不要超过 32 字符
数据库名过长,会增加网络开销
临时库必须以 tmp 为前缀,并以日期为后缀
备份库、备份表必须以 b ...
《Spring Session》文档笔记
Spring Session 的两种解决方案:redis 与 mongodb
Spring Session Redis
Spring Session MongoDB
Spring Session Redis在 SpringBoot web 应用程序中,使用 Spring Session 来支持 HttpSession。
1. 添加依赖1234567<dependencies> ...... <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> </dependency></dependencies>
Spring Boot 为 Spring Session 提供了依赖管理,所以不需要声明依赖的版本。
2. 修改配置1234567891011121314# Session 的存储方式sp ...
《Spring Security》文档笔记
SpringSecurity 是一个强大的、高度可定制的身份验证和访问控制框架,它是确保基于 Spring 的应用程序安全的事实标准。Spring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based applications.
笔记来源于 https://docs.spring.io/spring-security/site/docs/5.0.5.RELEASE/reference/htmlsingle
目录第一部分 基本介绍
前言
介绍什么是 SpringSecurity
Spring Security 的几种认证方式
Spring Security 的包目录结构
Spring Security 配置
开启 HttpSecurity 配置
处理登录请求
授权请求,验证 url
处理登出请求
JDBC、Memory 认证
多重 HttpSec ...
《设计模式》读书笔记
设计模式。本笔记来源于:《Java Design Pattern》一书。
目录
设计原则
简单工厂模式/静态工厂模式
工厂方法模式/虚拟构造模式/多态工厂模式
抽象工厂模式/Kit 模式
单例模式 - 懒汉模式/饿汉模式/IoDH
原型模式 - 浅克隆与深克隆
建造者模式 - 复杂对象的组装与创建
适配器模式 - 不兼容结构的协调
桥接模式/柄体模式/接口模式 - 处理多维度变化
组合模式 - 树形结构的处理
装饰模式 - 扩展系统功能
外观模式
享元模式 - 实现对象的复用
代理模式
责任链模式 - 请求的链式处理
命令模式 - 请求发送者和接收者解耦
解释器模式 - 自定义语言的实现
迭代器模式 - 遍历聚合对象中的元素
中介者模式 - 协调多个对象之间的交互
备忘录模式 - 撤销功能的实现
观察者模式 - 对象间的联动
状态模式 - 处理对象的多种状态及其相互转换
策略模式 - 算法的封装与切换
模板方法模式
访问者模式 - 操作复杂对象结构
常用设计模式一览表
类型
模式名称
英文名
创建型模式
单例模式
Single Pattern
Creational P ...
《Java并发编程的艺术》读书笔记
本笔记来自于 书籍:Java并发编程的艺术
第一章 并发编程的挑战
第二章 Java 并发机制的底层实现原理
第三章 Java 内存模型
第四章 Java 并发编程基础
第五章 Java 中的锁
第六章 Java 并发容器和框架
第七章 Java 中的 13 个原子操作类
第八章 Java 中的并发工具类
第九章 Java 中的线程池
第十章 Executor 框架
第十一章 Java 并发编程实践
第一章 Java 并发编程的挑战说明并发编程的世界中可能遇到的哪些问题,以及如何解决。
并发的目的是让程序运行得更快,但并不是更多的线程就能让程序最大限度地并发执行。在多线程情景下,面临诸多挑战,如上下文切换、死锁、受限于软硬件资源等问题。
1.1 上下文切换Cpu 通过为每个线程分配 cpu 时间片来实现多线程执行代码,因为时间片非常的短,所以cpu 需要通过不停地切换线程执行,让我们感觉多个线程是在同时执行的。
但是,在切换之前cpu会保存上一个任务的状态,以便下次切换回任务时,会加载任务的状态。
所以任务从保存到再加载的过程就是一次上下文切换。
很明显,当程序中的多个线程存在 ...
《Spring Data MongoDB》文档笔记
前言Spring DataSpring MongoDB 与Spring Framewrok 提供的 JDBC 十分相似,在熟悉本篇文章之前,需要先熟悉 MongoDB 和Spring 的概念
Spring Data 使用了 Spring 框架的核心功能,包括:
IOC容器 (IOC container)
类型转换系统 (type conversion system)
EL表达式 (expression language)
JMX集成
Dao异常层次结构
MongoDBMongoDB作为一种 NOSQL 工具,非 RDMBS 设计范式,官方文档:https://docs.mongodb.com/manual/reference/operator/query/in/index.html
RDMBS设计范式:http://blog.51cto.com/echoroot/1953996
Spring Data MongoDB 2.0
升级至 java8
使用 Document API,而非 DBObject
支持聚合结果流 Stream
Kotlin 扩展
支持隔离 Update 操作
...