后端技术笔记汇总
目录
100_计科基础
数据结构与算法
基础
线性表
-
数组
-
栈
-
队列
链表
散列表
树
- 40.二叉树
- 41.二叉树的顺序存储
- 42.线索二叉树
- 43.二叉排序树
- 44.AVL树(平衡二叉搜索树)
- 45.红黑树
- 45.B树、B+树、B*树
- 46.2-3树与红黑树
- 47.2-3-4树与红黑树
- 51.赫夫曼树
图
基本算法思想
搜索
查找
字符串匹配
排序算法
应用
- 八皇后
- 单向链表逆序
- 汉诺塔
- 赫夫曼编码
- 迷宫路径(回溯+递归)
- 迷宫最短路径
- 前缀_中缀_后缀表达式
- 栈实现计算器(中缀表达式)
- 文件压缩与解压(赫夫曼编码)
- 约瑟夫问题
- 最大子序和
- 最短路径(图的应用)
- 最小生成树(图的应用)
- 最优装配
- 最长上升子序列(LIS)
- DAG最短路
- 01背包
leetcode
组成原理
- 1_计算机发展历程
- 2_计算机系统层次结构
- 3_计算机性能指标
- 4_数制与编码
- 8_存储器的简单模型及寻址概念
- 计算机缓存Cache以及Cache Line详解
- Cache一致性协议MESI
- Arm架构 计算机结构、南桥、北桥
- 寄存器
- 总线
- DMA总结
- 顺序和随机
操作系统
- 1. 操作系统的基本概念
- 2. 操作系统的发展与分类
- 3. 操作系统的运行机制与体系结构
- 4. 进程与线程
- 5. 处理机调度
- 6. 进程同步
- 7. 死锁
- 8. 内存管理
- 9. 虚拟内存管理
- 10. 文件系统基础
- 11. 磁盘组织与管理
- 12. 输入输出(IO)管理
- 中断
- PageCache
- 共享内存与内存映射
网络通信
200_编程语言
c
java
jvm
- 1_JVM与Java体系结构
- 2_类加载子系统
- 3_运行时数据区概述及线程
- 4_PC寄存器
- 5_虚拟机栈
- 6_本地方法接口
- 7_本地方法栈
- 8_堆
- 9_方法区
- 10_对象的实例化内存布局及访问定位
- 11_直接内存
- 12_执行引擎
- 13_StringTable
- 14_垃圾回收相关算法
- 15_垃圾回收相关概念
- 16_垃圾回收器
- jvm堆和栈的区别
- 堆分配的内存空间是否连续
- 详解符号引用转直接引用
- 压缩指针
- jvm中OOP-KLASS模型
- 分派
- 以JDBC为例谈双亲委派模型的破坏
- ClassLoader
- jvm性能调优工具
- jvm指令集
java基础
- 彻底搞懂String.intern()
- 池技术
- 反射
- 泛型
- 访问控制
- 集合
- 枚举
- 内部类
- 内省
- 深浅拷贝
- 序列化和反序列化
- 异常
- 值传递or引用传递
- 注解
- 注解底层原理
- 字节码图解i++
- HashMap为什么要重新实现hash
- IO框架
- IO使用
- java_record
- java位运算
- jdbc和jdbc驱动
- jdk15新特性
- SimpleDateFormat线程不安全及解决办法
- SPI机制
Java8实战
- 1_为什么要关心Java8
- 2_通过行为参数化传递代码
- 3_Lambda表达式
- 4_引入流
- 5_使用流
- 6_用流收集数据
- 7_并行数据处理与性能
- 8_重构、测试和调试
- 9_默认方法
- 10_用Optional取代null
- 11_CompletableFuture_组合式异步编程
- 12_新的日期和时间API
- 13_函数式的思考
- 15_面向对象和函数式编程的混合_Java8和Scala的比较
- 16_结论以及Java的未来
- 17_附录A_其他语言特性的更新
- 18_附录B_类库的更新
- 19_附录C_如何以并发方式在同一个流上执行多种操作
- 20_附录D_Lambda表达式和JVM字节码
Netty实战
- 1_Netty_异步和事件驱动
- 2_第一款Netty应用程序
- 3_Netty的组件和设计
- 4_传输
- 5_ByteBuf
- 6_ChannelHandler和ChannelPipeline
- 7_EventLoop和线程模型
- 8_引导
- 9_单元测试
- 10_编解码器
- 11_预置的ChannelHandler和编解码器
- 12_WebSocket
- 13_使用UDP广播事件
- 14_案例研究,第一部分
- 15_案例研究,第二部分
网络编程
并发编程
- 并发容器
- 多线程Callable接口
- 活锁
- 计划任务
- 惊群效应
- 聊聊你知道的锁
- 内存屏障
- 锁池和等待池
- 锁接口和类
- 线程间的通信
- 通信工具类
- 阻塞队列
- 线程池
- 线程组
- 重排序
- 自旋锁、排队自旋锁、MCS锁、CLH锁
- AQS
- cas
- Condition
- CopyOnWrite容器
- ForkJoin框架
- happends-before
- Java内存模型JMM
- LockSupport
- synchronized
- Thread
- ThreadLocal
- unsafe
- volatile
300_DevOps
docker
- centos基础镜像更换yum源
- docker-compose_quickstart
- docker-compose常用命令
- docker-mac下清除日志
- docker_quickstart
- docker、docker-compose、docker swarm和k8s的区别
- docker常用软件安装
- docker使用篇
- docker自定义网络模式
- dockerfile文件详解
git
idea
linux
- 包管理工具
- 重定向
- centos使用篇
- crond
- curl命令详解
- linux常用操作命令
- linux命令行快捷键
- linux文件和目录树结构
- linux用户和用户组
- nohup详解
- shell编程-空格的使用方法
- shell编程-引号
- shell编程
- vim编辑器
mac
maven
400_数据库
mysql
- 1_mysql架构介绍
- 2_七种JOIN
- 3_索引
- 4_最左匹配
- 5_性能分析
- 6_索引优化
- 7_Mysql_Join算法与调优
- 8_查询优化
- 9_sql_mode
- 10_慢查询日志
- 11_批量数据脚本
- 12_show_profile
- 13_锁机制
- 14_主从复制
- InnoDB的锁种类
- select_for_update_lock_in_share_mode对事务并发性影响
- 事务实现原理
- 加锁过程
410_服务器
nginx
500_中间件
服务注册与发现
zk
缓存
redis
- 1_NoSql详解
- 2_redis概述
- 3_redis五大数据类型
- 4_redis配置文件解析
- 5_redis持久化
- 6_redis事务
- 7_redis的发布订阅
- 8_redis主从复制
- 9_redis的java客户端jedis
- 10_redis集群方案
- RESP协议
- redis与分布式
- redis使用场景
- redis使用注意事项
数据库
mycat
sharding-jdbc
- sharding-jdbc概述
- sharding-jdbc快速入门
- sharding-jdbc数据分片
- sharding-jdbc读写分离
- sharding-jdbc执行原理
- sharding-jdbc综合案例
- sharding-jdbc总结与sql支持说明
MQ
rocketmq
- rocketmq概述与快速启动
- rocketmq基本概念介绍
- rocketmq集群搭建
- rocketmq高级功能
- rocketmq消息发送样例
- rocketmq使用案例
- rocketmq源码分析_消息发送
- rocketmq源码分析_topic路由注册与剔除机制
- rocketmq源码分析_消息存储之概要设计
- rocketmq源码分析_消息存储之内存映射
- rocketmq源码分析_消息存储之刷盘机制
- rocketmq源码分析_消息消费总览
- rocketmq源码分析_消息重试及过滤
- rocketmq源码分析_文件恢复和过期文件删除
kafka
501_框架
dubbo
mybatis
- mybatis简介
- mybatis入门
- mybatis全局配置文件
- mybatis映射文件
- mybatis运行原理
- mybatis插件开发
- mybatis插件之PageHelper
- mybatis代码生成器
- mybatis动态sql
- mybatis缓存
- mybatis批量操作
- mybatis自定义TypeHandler
- mybatis整合spring
spring
- spring入门
- AOP
- IOC
- JdbcTemplate
- spring事务
- scope源码解析
- Spring Reactor 入门与实践
- spring5.0新特性
- spring基于字段的依赖注入缺陷
- spring解决循环依赖
- WebFlux
- spring注解驱动之扩展
- spring注解驱动之容器创建过程
- spring注解驱动之声明式事务
- spring注解驱动之属性赋值
- spring注解驱动之注册组件
- spring注解驱动之自动装配
- spring注解驱动之组合注解
- spring注解驱动之AOP
- spring注解驱动之Bean生命周期
- spring注解驱动之Web
springboot
- 1_springboot入门
- 2_springboot配置
- 3_springboot与日志
- 4_springboot与web开发
- 5_springboot与数据访问
- 6_springboot启动配置原理
- 7_springboot自定义starter
- 8_springboot与缓存
- 9_springboot与消息队列
- 10_springboot与检索
- 11_springboot与任务
- 12_springboot与安全
- 13_springboot与分布式
- 14_springboot与热部署
- 15_springboot与监控管理
- springboot多数据源&动态数据源(主从)
springmvc
600_软件过程
架构设计
分布式
幂等
springcloud
- 微服务架构与springcloud
- spirngcloud服务注册与发现Eureka
- Spring Cloud Alibaba 新一代微服务解决方案
- springcloud服务调用OpenFeign
- springcloud服务降级Hystrix
- springcloud服务网关gateway
- springcloud服务注册与发现consul
- springcloud服务注册与发现zookeeper
- springcloud负载均衡ribbon
- springcloud构建微服务架构
- springcloud配置中心config
- springcloud请求链路追踪sleuth
- springcloud消息驱动stream
- springcloud消息总线bus
- springcloudAlibaba_nacos_服务注册中心
- springcloudAlibaba_nacos_集群和持久化配置
- springcloudAlibaba_nacos_配置中心
- springcloudAlibaba_seata_介绍与安装
- springcloudAlibaba_seata_快速启动
- springcloudAlibaba_seata_理解什么是AT、TCC、Saga
- springcloudAlibaba_sentinel_和其他框架整合
- springcloudAlibaba_sentinel_流控
- springcloudAlibaba_sentinel_热点参数与系统规则
- springcloudAlibaba_sentinel_熔断降级
- springcloudAlibaba_sentinel_quickstart
- springcloudAlibaba_sentinel_SentinelResource注解详解
webservice
设计模式
- 1_软件设计模式概述
- 2_面向对象设计原则
- 3_创建型_单例模式
- 4_创建型_原型模式
- 5_创建型_工厂方法
- 6_创建型_抽象工厂
- 7_创建型_建造者模式
- 8_结构型_代理模式
- 9_结构型_适配器模式
- 10_结构型_桥接模式
- 11_结构性_装饰器模式
- 12_结构性_外观模式
- 13_结构型_享元模式
- 14_结构型_组合模式
- 15_行为型_模板方法
- 16_行为型_策略模式
- 17_干掉ifelse
- 18_行为型_命令模式
- 19_行为型_责任链模式
- 20_行为型_状态模式
- 21_行为型_观察者模式
- 22_观察者模式 vs 发布订阅模式
- 23_行为型_中介者模式
- 24_行为型_迭代器模式
- 25_行为型_访问者模式
- 26_行为型_备忘录
- 27_行为型_解释器
- 适配器模式、桥接模式与外观模式的区别与联系