Introduction
1. java基础篇
1.1 常量与变量
1.2 成员变量初始化时机
1.3 继承
1.4 多态
1.5 枚举enum
1.6 接口/抽象类
1.7 内部类
1.8 注解
1.9 内省
1.10 反射
1.11 内省和反射的区别
1.12 构造方法的访问级别
1.13 从磁盘获取资源
1.14 hashcode()&equals()
1.15 包装类
1.16 try-catch中的return
1.17 java命令行操作
2. 集合篇
2.1 总览
2.2 Queue与Deque的区别
2.3 Stack
2.4 PriorityQueue
2.5 ArrayList
2.6 数组/列表互换
2.7 高并发下的集合替换
2.8 Collections&Arrays
2.9 comparator
3. 设计模式篇
3.0 所有设计模式实现代码
3.1 总览
3.2 单例模式
3.3 原型模式
3.4 简单工厂模式
3.5 策略模式
3.6 模板方法模式
3.7 工厂方法模式
3.8 抽象工厂模式
3.9 代理模式
3.10 装饰器模式
3.11 观察者模式
3.12 门面模式
3.13 对象池模式、多例模式、享元模式的比较
4. 多线程篇
4.1 使用多线程原因
4.2 带来的问题
4.3 生命周期(各个状态)
4.4 上下文切换
4.5 锁
4.6 死锁:4个条件同时成立
4.7 AQS
4.8 线程池
4.9 threadLocal
4.10 volatile
4.11 CAS
4.12 哲学家吃饭
4.13 原子类
5. jvm篇
5.1 java内存区域(运行时数据区域)
5.2 类文件结构
5.3 类加载过程
5.4 类加载器
5.5 创建对象
5.6 jvm垃圾回收
5.7 JIT编译器
6. spring篇
6.1 IOC
6.2 AOP
6.3 事务
6.4 maven打包
6.5 springMVC参数绑定
6.6 springCache
6.7 springMVC
6.8 web.xml内的标签加载顺序
6.9 事件驱动模型: 加载ContextLoaderListener
6.10 加载DispatcherServlet初始化顺序详解
6.11 BeanWrapper
6.12 DispatcherServlet解析请求过程
6.13 HandlerAdapter
6.14 ContextLoaderListener和DispatcherServlet初始化上下文关系和区别
6.15 spring使用的设计模式
7. mybatis篇
7.1 resultyType
7.2 关联查询
8. mysql篇
8.1 范式
8.2 int与varchar
8.3 in&exists
8.4 删表不删库
8.5 mysql主键断号解决
8.6 7种join详解
8.7 索引
8.8 explain
8.9 日志
8.10 mvcc
8.11 mysql常用操作
8.12 设计规范
8.13 分布式锁
8.14 sql练习
8.15 名词解释
8.16 视图
8.17 information_schema
8.18 mysql的乐观锁和悲观锁
9. redis篇
9.1 总览
9.2 数据类型
9.3 事务
9.4 穿透与雪崩
9.5 从单机锁到分布式锁
9.6 redis线程模型
9.7 缓存过期
9.8 redis 持久化机制
9.9 缓存常用的3种读写策略
10. 认证授权篇
10.1 认证
10.2 授权
11. shiro篇
12. pc前端篇
12.1 $(document)&$(window)
12.2 宽高自适应
12.3 div垂直居中
12.4 css渲染过程及reflow和repaint
12.5 闭包
12.6 原型链与继承理解
13. 移动前端篇
13.1 react-native项目结构
13.2 安卓相关
13.3 rn 引入firebase/crashlytics
13.4 rn linking
13.5 rn打包
13.6 使用函数式组件替代类组件
13.7 react-native的第三方组件
13.8 js的replace
13.9 promise
13.10 es6 fetch
13.11 typeScript类型-Partial、Pick、Omit
13.12 点、像素、分辨率
13.13 安卓获得对应hdpi目录中的图片
13.14 appLogo
13.15 react-native踩过的坑
14. C语言篇
14.1 C编译的四个阶段
14.2 结构体变量的空间分配
14.3 三大指针
14.4 makefile
15. 计算机基础篇
16. 操作系统篇
16.1 MESI协议
16.2 操作系统内存管理
17. webSocket篇
18. 网络篇
18.1 子网划分
18.2 网络间主机通信原理
18.3 tcp
18.4 DNS域名解析全过程
18.5 http
18.6 https
19. linux篇
19.1 vi编辑器
20. 数据结构篇
20.1 常见应用
20.2 kmp字符串匹配
20.3 二叉树
20.4 红黑树
20.5 如何存图
20.6 生成树
20.7 最短路径
20.8 查找
20.9 内部排序
20.10 外部排序
20.11 排序算法优劣
21. 算法篇
21.0 算法实现代码
21.1 递归
21.2 动态规划
21.3 回溯(dfs)
21.4 多叉树的两种遍历区别
21.5 图的遍历
21.6 bfs
21.7 双指针
21.8 二分查找
21.9 单调系列
21.10 二叉堆
21.11 子序列模板
22. 分布式微服务篇
22.1 理论
22.2 raft协议
22.3 分布式id
22.4 应用
23. 大数据篇
23.0 基础
23.1 hadoop
24. 第三方工具篇
Published with GitBook
2.7 高并发下的集合替换
高并发下的集合替换
多线程
单线程
CopyOnWriteArrayList (内部支持读写锁思想)
arraylist
ConcurrentLinkedQueue(非阻塞队列,cas来控制多线程并发)
linkedlist
BlockingQueue (阻塞队列,用锁来控制多线程并发,多用于实现生产者-消费者模式)
ConcurrentSkipListMap(有序)
ConcurrentHashMap(无序)
hashMap
results matching "
"
No results matching "
"