🍎🍊🍓 推荐使用chrome插件:简悦来阅读 🍎🍊🍓
一.计算机网络(Computer Networking)
计算机网络总览
TCP、UDP
计算机网络体系结构
HTTP
- HTTP 请求方法
- MDN: HTTP 请求方法
- w3school: HTTP 方法: GET 对比 POST
- HTTP 状态码
- HTTP 缓存
- HTTP内容协商
- HTTP的发展:0.9/1.0/1.1/2.0
- HTTP/1.x 的连接管理
- Identifying resources on the Web
- 浏览器发送一次网址请求的过程
- 代理
SSH
集线器、交换机和路由器
全双工、半双工和单工
CDN ==>> 推荐阅读《深入分析Java Web技术内幕 修订版》相应章节
Cookie与Session ==>> 推荐阅读《深入分析Java Web技术内幕》相应章节
二.操作系统(Operating System)
Linux
Linux基础
Linux shell
Vim
三.数据库(Database)
数据库理论
事务
- 『浅入深出』MySQL 中事务的实现
- 彻底理解数据库事务
- 深入分析事务的隔离级别
- 知乎:数据库事务原子性、一致性是怎样实现的?
- 知乎:乐观锁和 MVCC 的区别?
- 浅谈数据库并发控制 - 锁和 MVCC
- InnoDB存储引擎MVCC实现原理
范式
MySQL
MySQL索引
MySQL优化
- MySQL 对于千万级的大表要怎么优化?
- MYSQL性能优化的最佳20+条经验 ===> 英文原文:Top 20+ MySQL Best Practices
- MySQL 性能优化神器 Explain 使用分析
MySQL的锁
Redis
四.算法
排序算法
- 常见排序算法及对应的时间复杂度和空间复杂度
- 常用的八种排序算法Java代码实现
- 图解排序算法(一)之3种简单排序(选择,冒泡,直接插入)
- 图解排序算法(二)之希尔排序
- 图解排序算法(三)之堆排序
- 图解排序算法(四)之归并排序
- 图解排序算法(五)之快速排序——三数取中法
递归与尾递归
字典树(Trie)
红黑树
KMP
JDK里的排序算法
Huffman 编码
五.Java基础(Basic)
Java枚举
Java异常
序列化与反序列化
反射
- 知乎:学习java应该如何理解反射?
- 深入解析Java反射(1) - 基础
- 深入解析Java反射(2) - invoke方法
- 并发编程网:Java Reflection教程
- 反射——Java高级开发必须懂的
注解
String、StringBuilder和StringBuffer
- 在java中String类为什么要设计成final? - 知乎
- Java StringBuilder和StringBuffer源码分析
- Stack Overflow: String, StringBuffer, and StringBuilder
hashCode()和equals()
Java IO
Java容器 ==>> 推荐阅读《分布式Java应用 基础与实践》第四章
- Java集合学习指南
- java 集合类知识汇总
- Java 容器
- ArrayList vs. LinkedList vs. Vector
- ArrayList、LinkedList、Vector、HashSet、Treeset、HashMap、TreeMap的区别和适用场景
- Java Collections Framework - ArrayList
- HashMap与ConcurrentHashMap
- 优先级队列
Java 8
六.Java并发(Concurrency)
并发合集
线程池
阻塞队列
- 聊聊并发(七)——Java中的阻塞队列
- 【死磕Java并发】-----J.U.C之阻塞队列:BlockingQueue总结
- 【死磕Java并发】-----J.U.C之阻塞队列:ArrayBlockingQueue
- 【死磕Java并发】-----J.U.C之阻塞队列:LinkedBlockingDeque
- 【死磕Java并发】-----J.U.C之阻塞队列:PriorityBlockingQueue
- 【死磕Java并发】-----J.U.C之阻塞队列:SynchronousQueue
- 【死磕Java并发】-----J.U.C之阻塞队列:LinkedTransferQueue
synchronized和lock
- 【死磕Java并发】-----深入分析synchronized的实现原理
- 深入浅出synchronized
- Lock与synchronized 的区别
- 并发编程的锁机制:synchronized和lock
CAS
ThreadLocal
Java中的锁
Java秒杀
七.Java虚拟机(JVM)
JVM内存结构
垃圾收集(GC)
- 深入理解 java 垃圾回收机制
- 不同的垃圾回收器的比较
- 了解CMS(Concurrent Mark-Sweep)垃圾回收器
- 并发编程网:深入理解G1垃圾收集器
- 占小狼:G1垃圾收集器介绍
- 占小狼:Java GC的那些事(1)
- 占小狼:Java GC的那些事(2)
- Java GC系列(1):Java垃圾回收简介
- Java GC系列(2):Java垃圾回收是如何工作的?
- Java GC系列(3):垃圾回收器种类
- Java GC系列(4):垃圾回收监视和分析
- 知乎:怎么在面试时回答Java垃圾回收机制(GC)相关问题?
- 美团技术团队:Java Hotspot G1 GC的一些关键技术
类加载
性能调优
八.设计模式(Design Patterns)
九.框架(Framework)
Spring
IoC
- 知乎:Spring IOC原理总结
- 知乎:Spring IoC有什么好处呢?
- BeanFactory、ApplicationContext以及WebApplicationContext
- BeanFactory和ApplicationContext中各自Bean的生命周期
- Bean的注入方式和作用域
AOP
面试
Spring Boot
- @SpringBootApplication(源码分析与启动流程) ==>> 推荐阅读《Spring Boot揭秘》第三章
- SpringBoot开发常用技术整合
- Spring Boot聚合工程
- Spring Boot热部署
Thymeleaf
Spring MVC
- 知乎:servlet的本质是什么,它是如何工作的?
- 许令波:Servlet 工作原理解析
- Servlet生命周期与工作原理
- redirect和forward
- SpringMVC深度探险系列
- SpringMVC面试题
MyBatis
- MyBatis Reference Documentation ===> 中文文档
- 美团技术团队:聊聊MyBatis缓存机制
- 动态SQL
- MyBatis常见面试题
- MyBatis中的#与$的区别
Spring Cloud
十.分布式
- 美团技术团队:分布式系统互斥性与幂等性问题的分析与解决
- CAP理论: