目录 Catalogue:
- InnoDB与MyISAM的区别
- 主键自增继续编or重新编
- MySQL优化手段
- MySQL三大范式
- 唯一列用普通索引还是唯一索引
- redolog与changebuffer的区别
- changebuffer是否总是可以提高性能
- 索引优化手段
- 索引为什么最好是自增的
- 全局锁
- 表级锁
- 行级锁
- 对象的四种引用
- JVM内存分布
- JVM为什么要分代GC
- 标记整理比标记复制慢
- 新生代与老年代GC算法的选择
- 三种GC算法的优劣
- 对象分配过程
- 堆内存细究
- 对象晋升到老年代
- GCROOTS
- 双亲委派机制是什么
- 如何打破双亲委派
- CMS的特点
- CMS过程
- G1特点
- 跨代引用
- G1过程
- JVM参数
- 类加载机制
- 各种Map的区别
- ArrayList&LinkedList
- HashMap.put()
- HashMap扩容时机
- HashMap树化时机
- HashMap1.8的优化
- ArrayList扩容机制
- HashMap为什么要引入红黑树
- HashMap为什么不一开始就树化
- HashMap树化阈值为什么是8
- HashMap树退化时机
- HashMap索引
- HashMap桶的容量为何为2的n次方幂
- HashMap扩容因子的设计
- HashMap并发问题1.8
- HashMap并发问题1.7
- HashTable&ConcurrentHashMap
- ConcurrentHashMap1.7
- 6种线程状态
- 同步异步阻塞非阻塞
- 保证线程安全的方式
- 为什么需要Java内存模型
- Happends-Before
- 线程池参数
- 线程池阻塞队列
- 线程池拒绝策略
- 线程池创建方法
- 线程池生命周期
- 线程池执行流程
- 线程池参数设置
- 线程安全的集合
- synchronized原理
- synchronized优化
- volatile
- syn与volatile区别
- syn与lock的区别
- syn与ReentrantLock的区别
- AQS基础
- 偏向锁
- 轻量级锁
- 锁对比
- CAS
- ABA
- ThreadLocal
- ThreadLocal内存泄露
- 啰嗦😥。无法”正确的、一针见血的“的指出问题所在
😙😙欢迎提出issues
,看到就会回馈。并且将您添加到项目贡献者列表中。
手动打字难免会有错别字,如果在学习过程中发现了错别字或者需要补充及修正的知识点。
欢迎及时修正本项目,让我们一起为开源做贡献!
具体步骤如下:
- Fork 本仓库
- 新建 Feat_xxx 分支
- 提交代码
- 新建 Pull Request,填写必要信息
- 等待审核即可,通过之后会邮件通知您