2

Java 概念 & 原理

JMM 内存模型
JVM 虚拟机结构
JVM GC 算法
JVM GC 机制
动态年龄准则

Java 基础 & 源码

基础知识

基础数据类型
Overload & Override
Error & Exception
String 为什么是 final
HashMap 与红黑树
类的 生命周期 & 加载过程
类加载器 Classloader & 双亲委派模型
进程 & 线程 & 多线程 & 串行流 & 并行流
Java 反射
Java 引用
Java 泛型
Java 后期绑定
Java 类加载时机验证
Java 集合时间复杂度
Java 只有值传递
Java Proxy & CGLIB
iterator & for
volatile 关键字
线程的状态
线程池的状态
ThreadPoolExecutor
BlockingQueue

并发编程

ConcurrentHashMap
FactoryBean
Synchronized
Synchronized & Lock & ReentrantLock 区别
CopyOnWrite
ThreadLocal
sleep & yield & join
共享锁 & 排他锁 & 读写锁
锁相关 wait & notify & notifyAll
锁相关 await & signal & signalAll
CompleteFuture 小结

源码解读

AbstractQueuedSynchronizer 公平锁 非公平锁
SpringBoot 启动流程
SpringBoot & @SpringBootApplication

编程思想

面向对象,面向组件,面向服务
Restful
分布式系统
系统架构的变迁
数据库的切分
CAP
分布式事务 & 2PC & 3PC
分布式事务 & TCC
幂等
缓存击穿 & 雪崩
自旋锁 & 适应性自旋锁
设计模式
乐观锁 悲观锁

数据库

MySql 共享锁 排他锁 意向锁 记录锁 间隙锁 临键锁
MySql 行级锁 表级锁
数据库的隔离级别
InnoDB 记录行结构
InnoDB 页结构
MySql 索引简述
MySql Explain 详解
MyBatis 配置详解
Redis RDB & AOF
MySql 非常用语法笔记
MySql MVCC
Truncate
MDL & 为什么DDL不锁表,而是阻塞了所有该表的SQL
MySql 表空间碎片整理
MySql 索引下推
MySql 合理配置链接池大小

数据结构

B-Tree & B+Tree
Red Black Tree 红黑树
树形结构效率对比
二叉树 遍历方式

计算机网络

32 & 64 bit
长连接 & 短连接
Application & Session & Request & Page
HTTPS 概述&流程
GBK & UTF-8

技术 & 运用

DispatcherServlet & SpringMVC 启动过程
Spring 事务传播机制
@PostConstruct
Luence
SpringMVC 常用注解
Maven Scope
Maven DependencyManagerment
Zookeeper & Eureka
ZooKeeper 数据结构
Spring 入参出参解析
哈希表
布隆过滤器
限流算法优缺点思考
为什么 Spring 提供的 Redis 插件中的 setIfAbsent 方法调用的是 set 命令
Kafka 分区 & 消费模式
缓存一致性
SpringBoot 配置多套 Kafka
Java 正则表达式

踩坑 & 复盘 & 思考

后端 & 数据库 & 缓存

MySql & Redis 踩坑小知识集散地
Mybatis 批量插入并获取id
Mybatis 批量操作 引发上限问题
Druid 获取连接过慢分析
Redis 高并发场景 获取连接失败、击穿、锁等问题复盘
Redis 超出内存大小报错
MySql update 逗号 & and的区别
MySql insert on duplicate key update 死锁
MySql 全文索引 导致查询效率问题
Could not initialize class net.sf.cglib.beans.BeanMap$Generator
OkHttpClient clientBuilder.sslSocketFactory(SSLSocketFactory) not supported on JDK 9+
MySql Explain 调优踩坑

JVM

Java 踩坑小知识集散地
GC报错 Concurrent Mode Failure
Guava 规避OOM需要注意的点
ArrayList & Arrays.ArrayList 的区别与踩坑
Guava 临界方案 & 一致性问题
Calendar.roll() 导致验签失败

业务场景

大体量数据迁移思路
亿级数据量系统优化思考
大体量 高并发 业务与性能 权衡方案参考
支付渠道商限额 阻塞支付流程问题

认知扩展

支付宝 支付流程异常处理 设计思考
微信 支付 & 卡包 流程梳理
UEBA - 用户实体行为分析


老污的猫
30 声望5 粉丝