# JavaDeveloperBrain **Repository Path**: swayingleavescn/JavaDeveloperBrain ## Basic Information - **Project Name**: JavaDeveloperBrain - **Description**: [Java工程师必备+学习+知识点+面试]:包含计算机网络知识、JavaSE、JVM、Spring、Springboot、SpringCloud、Mybatis、多线程并发、netty、MySQL、MongoDB、Elasticsearch、Redis、HBASE、RabbitMQ、RocketMQ、Pulsar、Kafka、Zookeeper、Linux、设计模式、智力题、项目架构、分布式相关、 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://gitee.com/swayingleavescn/JavaDeveloperBrain - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 2 - **Created**: 2021-10-14 - **Last Updated**: 2025-03-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: 面试, Java多线程, Java, Spring, 分布式 ## README

JavaDeveloperBrain

[comment]: <> ([![GitHub issues](https://img.shields.io/github/issues/Swayingleaves/JavaDeveloperBrain?style=for-the-badge)](https://github.com/Swayingleaves/JavaDeveloperBrain/issues)) [![GitHub forks](https://img.shields.io/github/forks/Swayingleaves/JavaDeveloperBrain?style=for-the-badge)](https://github.com/Swayingleaves/JavaDeveloperBrain/network) [![GitHub stars](https://img.shields.io/github/stars/Swayingleaves/JavaDeveloperBrain?style=for-the-badge)](https://github.com/Swayingleaves/JavaDeveloperBrain/stargazers) ![Java进阶](https://img.shields.io/badge/JAVA-%E5%9F%BA%E7%A1%80%2F%E8%BF%9B%E9%98%B6-green?style=for-the-badge)

[Java工程师必备+学习+知识点+面试]:包含计算机网络知识、JavaSE、JVM、Spring、Springboot、SpringCloud、Mybatis、多线程并发、netty、MySQL、MongoDB、Elasticsearch、Redis、HBASE、RabbitMQ、RocketMQ、Pulsar、Kafka、Zookeeper、Linux、设计模式、智力题、项目架构、分布式相关、算法、面试题

---

:star2:TODO list:star2:

# 内容概览[↓↓](#最后)
Java↓↓ 基础部分 JVM 多线程
计算机网络↓↓ 网络协议分层 TCP UDP 三次握手 四次挥手
TCP怎么保障可靠传输 HTTPS HTTP面试题
数据库↓↓ MySQL MongoDB HBASE NebulaGraph Elasticsearch
Redis SQL问题
消息队列↓↓ Redis RabbitMQ RocketMQ Kafka Zookeeper
Pulsar
框架↓↓ Spring SpringMVC SpringBoot SpringCloud SpringCloudAlibaba
Mybatis Netty
Linux↓↓ 进程-线程-文件描述符 IO模型 select-poll-epoll
分布式相关↓↓ 分布式锁 分布式事务 分布式唯一ID设计 CAP理论 一致性算法
架构↓↓ 系统设计 计算和储存分离 DDD领域驱动设计
容器技术↓↓ Docker Kubernetes
数据结构和算法↓↓ 排序算法 树相关 BFS DFS 回溯算法
二分法 贪心算法 动态规划 分治思想
设计模式↓↓
面试↓↓ 职业规划和学习习惯 场景设计 智力题 面试解答 商城类问题
# 内容详情 ## Java-基础部分[↑↑](#内容概览) - [基本类型](doc/Java-基础/Java类型.md) - [包装类型](doc/Java-基础/Java类型.md) - [关键字](doc/Java-基础/Java关键字.md) - [Object](doc/Java-基础/Object.md) - [String](doc/Java-基础/String.md) - [数组](doc/Java-基础/数组.md) - [继承](doc/Java-基础/继承.md) - [反射](doc/Java-基础/反射.md) - [异常](doc/Java-基础/异常.md) - [泛型](doc/Java-基础/泛型.md) - 容器 - [List](doc/Java-基础/容器-collection.md#list) - [Vector](doc/Java-基础/容器-collection.md#vector) - [LinkedList](doc/Java-基础/容器-collection.md#linkedlist) - [ArrayList](doc/Java-基础/容器-collection.md#arraylist) - [CopyOnWriteArrayList](doc/Java-基础/容器-collection.md#copyonwritearraylist) - [Set](doc/Java-基础/容器-collection.md#set) - [HashSet](doc/Java-基础/容器-collection.md#hashset) - [LinkedHashSet](doc/Java-基础/容器-collection.md#linkedhashset) - [TreeSet](doc/Java-基础/容器-collection.md#treeset) - [queue](doc/Java-基础/容器-collection.md#queue) - [Map](doc/Java-基础/容器-map.md#map) - [HashMap](doc/Java-基础/容器-map.md#hashmap) - [LinkedHashMap](doc/Java-基础/容器-map.md#linkedhashmap) - [TreeMap](doc/Java-基础/容器-map.md#treemap) - [ConcurrentHashMap](doc/Java-基础/容器-map.md#concurrenthashmap) - [IdentityHashMap](doc/Java-基础/容器-map.md#identityhashmap) - [WeakHashMap](doc/Java-基础/容器-map.md#weakhashmap) - [Java-IO](doc/Java-基础/JavaIO.md) - [文件io](doc/Java-基础/JavaIO.md#文件io) - [网络io](doc/Java-基础/JavaIO.md#网络io) - [NIO](doc/Java-基础/JavaIO.md#nio) - [Java长期支持版本新特性](doc/Java-基础/Java长期支持版本.md) - [Java虚拟线程](doc/Java-基础/虚拟线程.md) ## Java-JVM[↑↑](#内容概览) - [内存结构](doc/Java-JVM/内存结构.md) - [程序计数器](doc/Java-JVM/内存结构.md#程序计数器) - [Java虚拟机栈](doc/Java-JVM/内存结构.md#java虚拟机栈) - [本地方法栈](doc/Java-JVM/内存结构.md#本地方法栈) - [堆](doc/Java-JVM/内存结构.md#堆) - [方法区](doc/Java-JVM/内存结构.md#方法区) - [运行时常量池](doc/Java-JVM/内存结构.md#运行时常量池) - [直接内存](doc/Java-JVM/内存结构.md#直接内存) - [垃圾回收](doc/Java-JVM/垃圾回收.md) - [判断一个对象能否被回收](doc/Java-JVM/垃圾回收.md#判断一个对象能否被回收) - [引用计数法](doc/Java-JVM/垃圾回收.md#引用计数法) - [可达性算法](doc/Java-JVM/垃圾回收.md#可达性算法) - [哪些可以作为是根节点](doc/Java-JVM/垃圾回收.md#哪些可以作为是根节点) * [方法区的回收](doc/Java-JVM/垃圾回收.md#方法区的回收) * [finalize()](doc/Java-JVM/垃圾回收.md#finalize) * [引用类型](doc/Java-JVM/垃圾回收.md#引用类型) * [强引用](doc/Java-JVM/垃圾回收.md#强引用) * [软引用](doc/Java-JVM/垃圾回收.md#软引用) * [弱引用](doc/Java-JVM/垃圾回收.md#弱引用) * [虚引用](doc/Java-JVM/垃圾回收.md#虚引用) - [分代收集理论](doc/Java-JVM/垃圾回收.md#分代收集理论) - [Java对象头](doc/Java-JVM/Java对象头.md) - [GC定义](doc/Java-JVM/垃圾回收.md#gc定义) - [新生代收集(Minor GC/Young GC)](doc/Java-JVM/垃圾回收.md#新生代收集minor-gcyoung-gc) - [老年代收集(Major GC/Old GC)](doc/Java-JVM/垃圾回收.md#老年代收集major-gcold-gc) - [混合收集(Mixed GC)](doc/Java-JVM/垃圾回收.md#混合收集mixed-gc) - [整堆收集(Full GC)](doc/Java-JVM/垃圾回收.md#整堆收集full-gc) - [回收算法](doc/Java-JVM/垃圾回收.md#回收算法) - [标记-清除](doc/Java-JVM/垃圾回收.md#标记-清除) - [标记-复制](doc/Java-JVM/垃圾回收.md#标记-复制) - [标记-整理](doc/Java-JVM/垃圾回收.md#标记-整理) - [Hotspot算法实现细节](doc/Java-JVM/垃圾回收.md#hotspot算法实现细节) - [根节点枚举GC Roots](doc/Java-JVM/垃圾回收.md#根节点枚举gc-roots) - [安全点Safe Point](doc/Java-JVM/垃圾回收.md#安全点safe-point) - [安全区域Safe Region](doc/Java-JVM/垃圾回收.md#安全区域safe-region) - [记忆集Remembered Set与卡表Card Table](doc/Java-JVM/垃圾回收.md#记忆集remembered-set与卡表card-table) - [写屏障Write Barrier](doc/Java-JVM/垃圾回收.md#写屏障write-barrier) - [并发的可达性分析](doc/Java-JVM/垃圾回收.md#并发的可达性分析) - [为什么需要并发标记](doc/Java-JVM/垃圾回收.md#为什么需要并发标记) - [三色标记Tri-color Marking](doc/Java-JVM/垃圾回收.md#三色标记tri-color-marking) - [什么是三色标记](doc/Java-JVM/垃圾回收.md#什么是三色标记) - [垃圾回收器](doc/Java-JVM/垃圾回收.md#垃圾回收器) - [Serial收集器](doc/Java-JVM/垃圾回收.md#serial收集器) - [ParNew收集器](doc/Java-JVM/垃圾回收.md#parnew收集器) - [ParallelScavenge收集器](doc/Java-JVM/垃圾回收.md#parallelscavenge收集器) - [SerialOld收集器](doc/Java-JVM/垃圾回收.md#serialold收集器) - [ParallelOld收集器](doc/Java-JVM/垃圾回收.md#parallelold收集器) - [CMS收集器](doc/Java-JVM/垃圾回收.md#cms收集器) - [G1收集器](doc/Java-JVM/垃圾回收.md#g1收集器) - [ZGC收集器](doc/Java-JVM/垃圾回收.md#zgc收集器) - [内存分配与回收策略](doc/Java-JVM/内存分配与回收策略.md) - [对象优先在 Eden 分配](doc/Java-JVM/内存分配与回收策略.md#对象优先在-eden-分配) - [大对象直接进入老年代](doc/Java-JVM/内存分配与回收策略.md#大对象直接进入老年代) - [长期存活的对象进入老年代](doc/Java-JVM/内存分配与回收策略.md#长期存活的对象进入老年代) - [动态对象年龄判定](doc/Java-JVM/内存分配与回收策略.md#动态对象年龄判定) - [空间分配担保](doc/Java-JVM/内存分配与回收策略.md#空间分配担保) - [类加载机制](doc/Java-JVM/类加载机制.md) - [有哪些类加载器](doc/Java-JVM/类加载机制.md#有哪些类加载器) - [1.引导类加载器 bootstrap classloader](doc/Java-JVM/类加载机制.md#1引导类加载器-bootstrap-classloader) - [2.扩展类加载器 extensions classloader](doc/Java-JVM/类加载机制.md#2扩展类加载器-extensions-classloader) - [3.应用程序类加载器 application classloader](doc/Java-JVM/类加载机制.md#3应用程序类加载器-application-classloader) - [4.自定义类加载器 java.lang.classloder](doc/Java-JVM/类加载机制.md#4自定义类加载器-javalangclassloder) - [生命周期](doc/Java-JVM/类加载机制.md#生命周期) - [1. 加载](doc/Java-JVM/类加载机制.md#1-加载) - [2. 验证](doc/Java-JVM/类加载机制.md#2-验证) - [3. 准备](doc/Java-JVM/类加载机制.md#3-准备) - [4. 解析](doc/Java-JVM/类加载机制.md#4-解析) - [5. 初始化](doc/Java-JVM/类加载机制.md#5-初始化) - [双亲委派模型](doc/Java-JVM/类加载机制.md#双亲委派模型) - [JVM调优](doc/Java-JVM/JVM调优.md) - [原则](doc/Java-JVM/JVM调优.md#原则) - [jvm调优](doc/Java-JVM/JVM调优.md#jvm调优) - [JVM调优目标](doc/Java-JVM/JVM调优.md#jvm调优目标) - [JVM调优的步骤](doc/Java-JVM/JVM调优.md#jvm调优的步骤) - [JVM参数解析及调优](doc/Java-JVM/JVM调优.md#jvm参数解析及调优) - [Java即时编译](doc/Java-JVM/Java即时编译.md) - [什么是](doc/Java-JVM/Java即时编译.md#什么是) - [Java的执行过程](doc/Java-JVM/Java即时编译.md#java的执行过程) - [1.JVM中的编译器](doc/Java-JVM/Java即时编译.md#1jvm中的编译器) - [2.分层编译](doc/Java-JVM/Java即时编译.md#2分层编译) - [3.即时编译的触发](doc/Java-JVM/Java即时编译.md#3即时编译的触发) - [编译优化](doc/Java-JVM/Java即时编译.md#编译优化) - [1. 中间表达形式(Intermediate Representation)](doc/Java-JVM/Java即时编译.md#1-中间表达形式intermediate-representation) - [2.方法内联](doc/Java-JVM/Java即时编译.md#2方法内联) - [3. 逃逸分析](doc/Java-JVM/Java即时编译.md#3-逃逸分析) - [4. Loop Transformations](doc/Java-JVM/Java即时编译.md#4-loop-transformations) - [5. 窥孔优化与寄存器分配](doc/Java-JVM/Java即时编译.md#5-窥孔优化与寄存器分配) ## Java-多线程[↑↑](#内容概览) - [线程](doc/Java-多线程/线程.md) - [线程的生命状态](doc/Java-多线程/线程.md#线程的生命状态) - [新建new](doc/Java-多线程/线程.md#新建new) - [可运行runnable](doc/Java-多线程/线程.md#可运行runnable) - [阻塞blocked](doc/Java-多线程/线程.md#阻塞blocked) - [等待waiting](doc/Java-多线程/线程.md#等待waiting) - [期限等待timed waiting](doc/Java-多线程/线程.md#期限等待timed-waiting) - [死亡terminated](doc/Java-多线程/线程.md#死亡terminated) - [使用线程](doc/Java-多线程/线程.md#使用线程) * [继承Thread](doc/Java-多线程/线程.md#继承thread) * [实现Runnable接口](doc/Java-多线程/线程.md#实现runnable接口) * [实现Callable接口](doc/Java-多线程/线程.md#实现callable接口) * [Callable如何返回值的](doc/Java-多线程/线程.md#callable如何返回值的) * [FutureTask](doc/Java-多线程/线程.md#futuretask) * [线程基本方法](doc/Java-多线程/线程.md#线程基本方法) * [wait](doc/Java-多线程/线程.md#wait) * [sleep](doc/Java-多线程/线程.md#sleep) * [yield](doc/Java-多线程/线程.md#yield) * [interrupt](doc/Java-多线程/线程.md#interrupt) * [join](doc/Java-多线程/线程.md#join) * [notify](doc/Java-多线程/线程.md#notify) * [await() signal() signalAll()](doc/Java-多线程/线程.md#await-signal-signalall) * [Java里怎么保证多个线程的互斥性](doc/Java-多线程/线程.md#java里怎么保证多个线程的互斥性) * [线程和进程的区别](doc/Java-多线程/线程.md#线程和进程的区别) * [怎么让多个线程有序执行](doc/Java-多线程/线程.md#怎么让多个线程有序执行) * [join方法](doc/Java-多线程/线程.md#join方法) * [线程池](doc/Java-多线程/线程.md#线程池) * [lock-condition](doc/Java-多线程/线程.md#lock-condition) * [Java线程和操作系统的线程区别](doc/Java-多线程/线程.md#java线程和操作系统的线程区别) * [Java线程在操作系统上本质](doc/Java-多线程/线程.md#java线程在操作系统上本质) * [操作系统中的进程(线程)状态](doc/Java-多线程/线程.md#操作系统中的进程线程状态) * [操作系统中线程和Java线程状态的关系](doc/Java-多线程/线程.md#操作系统中线程和java线程状态的关系) - [volatile](doc/Java-多线程/volatile.md) * [机器内存模型](doc/Java-多线程/volatile.md#机器内存模型) * [多核下的缓存一致性问题](doc/Java-多线程/volatile.md#多核下的缓存一致性问题) * [指令重排](doc/Java-多线程/volatile.md#指令重排) * [JMM](doc/Java-多线程/volatile.md#jmm) * [作用](doc/Java-多线程/volatile.md#作用) * [可见性](doc/Java-多线程/volatile.md#可见性) * [禁止指令重排](doc/Java-多线程/volatile.md#禁止指令重排) * [volatile解决可见性的代码](doc/Java-多线程/volatile.md#volatile解决可见性的代码) * [验证volatile不具备原子性](doc/Java-多线程/volatile.md#验证volatile不具备原子性) - [Java对象头](doc/Java-多线程/Java对象头.md) - [锁机制](doc/Java-多线程/锁机制.md) * [Synchronized](doc/Java-多线程/锁机制.md#synchronized) * [Lock](doc/Java-多线程/锁机制.md#lock) * [ReentrantLock](doc/Java-多线程/锁机制.md#reentrantlock) * [锁优化](doc/Java-多线程/锁机制.md#锁优化) * [自旋锁](doc/Java-多线程/锁机制.md#自旋锁) * [循环](doc/Java-多线程/锁机制.md#循环) * [锁消除](doc/Java-多线程/锁机制.md#锁消除) * [锁粗化](doc/Java-多线程/锁机制.md#锁粗化) * [锁升级](doc/Java-多线程/锁机制.md#锁升级) * [死锁](doc/Java-多线程/锁机制.md#死锁) * [synchronized锁和lock锁的区别](doc/Java-多线程/锁机制.md#synchronized锁和lock锁的区别) - [线程池](doc/Java-多线程/线程池.md) * [创建线程池的方式](doc/Java-多线程/线程池.md#创建线程池的方式) * [1、Executors](doc/Java-多线程/线程池.md#1executors) * [newCachedThreadPool](doc/Java-多线程/线程池.md#newcachedthreadpool) * [newFixedThreadPool](doc/Java-多线程/线程池.md#newfixedthreadpool) * [newScheduledThreadPool](doc/Java-多线程/线程池.md#newscheduledthreadpool) * [newSingleThreadExecutor](doc/Java-多线程/线程池.md#newsinglethreadexecutor) * [2、ThreadPoolExecutor](doc/Java-多线程/线程池.md#2threadpoolexecutor) * [ThreadPoolExecutor](doc/Java-多线程/线程池.md#threadpoolexecutor-1) * [参数含义](doc/Java-多线程/线程池.md#参数含义) * [ThreadPoolExecutor原理流程](doc/Java-多线程/线程池.md#threadpoolexecutor原理流程) * [如何释放线程](doc/Java-多线程/线程池.md#如何释放线程) * [如何设置线程数](doc/Java-多线程/线程池.md#如何设置线程数) - [CAS](doc/Java-多线程/CAS.md) * [原理](doc/Java-多线程/CAS.md#原理) * [参数](doc/Java-多线程/CAS.md#参数) * [CAS的问题](doc/Java-多线程/CAS.md#cas的问题) - [AQS](doc/Java-多线程/AQS.md) * [AQS(AbstractQueuedSynchronizer)](doc/Java-多线程/AQS.md#aqsabstractqueuedsynchronizer) * [工作原理概要](doc/Java-多线程/AQS.md#工作原理概要) * [同步队列模型](doc/Java-多线程/AQS.md#同步队列模型) * [ReentrantLock](doc/Java-多线程/AQS.md#reentrantlock) * [Sync (extends AbstractQueuedSynchronizer)](doc/Java-多线程/AQS.md#sync-extends-abstractqueuedsynchronizer) * [NonfairSync (extends Sync) 非公平锁](doc/Java-多线程/AQS.md#nonfairsync-extends-sync-非公平锁) * [lock](doc/Java-多线程/AQS.md#lock) * [unlock](doc/Java-多线程/AQS.md#unlock) * [FairSync (extends Sync) 公平锁](doc/Java-多线程/AQS.md#fairsync-extends-sync-公平锁) * [Condition](doc/Java-多线程/AQS.md#condition) * [同步工具类](doc/Java-多线程/AQS.md#同步工具类) * [CountDownLatch](doc/Java-多线程/AQS.md#countdownlatch) * [CyclicBarrier](doc/Java-多线程/AQS.md#cyclicbarrier) * [Semaphore](doc/Java-多线程/AQS.md#semaphore) - [ThreadLocal](doc/Java-多线程/ThreadLocal.md) * [原理](doc/Java-多线程/ThreadLocal.md#原理) * [ThreadLocalMap](doc/Java-多线程/ThreadLocal.md#threadlocalmap) * [源码分析](doc/Java-多线程/ThreadLocal.md#源码分析) * [get](doc/Java-多线程/ThreadLocal.md#get) * [set](doc/Java-多线程/ThreadLocal.md#set) * [使用场景](doc/Java-多线程/ThreadLocal.md#使用场景) * [每个线程维护了一个“序列号”](doc/Java-多线程/ThreadLocal.md#每个线程维护了一个序列号) * [Session的管理](doc/Java-多线程/ThreadLocal.md#session的管理) * [SimpleDateFormat](doc/Java-多线程/ThreadLocal.md#simpledateformat) * [手动释放ThreadLocal遗留存储?你怎么去设计/实现?](doc/Java-多线程/ThreadLocal.md#手动释放threadlocal遗留存储你怎么去设计实现) * [弱引用导致内存泄漏,那为什么key不设置为强引用](doc/Java-多线程/ThreadLocal.md#弱引用导致内存泄漏那为什么key不设置为强引用) * [线程执行结束后会不会自动清空Entry的value](doc/Java-多线程/ThreadLocal.md#线程执行结束后会不会自动清空entry的value) * [threadlocal如果不remove,出问题了怎么补救?](doc/Java-多线程/ThreadLocal.md#threadlocal如果不remove出问题了怎么补救) * [FastThreadLocal](doc/Java-多线程/ThreadLocal.md#fastthreadlocal) ## 计算机网络[↑↑](#内容概览) - [网络协议分层](doc/计算机网络/网络协议分层.md) * [OSI 7层(基本只是拿来作比较)](doc/计算机网络/网络协议分层.md#osi-7层基本只是拿来作比较) * [TCP/IP 5(4)层](doc/计算机网络/网络协议分层.md#tcpip-54层) * [应用层](doc/计算机网络/网络协议分层.md#应用层) * [常见的协议](doc/计算机网络/网络协议分层.md#常见的协议) * [域名系统](doc/计算机网络/网络协议分层.md#域名系统) * [文件传送协议](doc/计算机网络/网络协议分层.md#文件传送协议) * [SMTP电子邮件协议](doc/计算机网络/网络协议分层.md#smtp电子邮件协议) * [远程登录协议](doc/计算机网络/网络协议分层.md#远程登录协议) * [传输层](doc/计算机网络/网络协议分层.md#传输层) * [常见的协议](doc/计算机网络/网络协议分层.md#常见的协议-1) * [TCP](doc/计算机网络/网络协议分层.md#tcp) * [UDP](doc/计算机网络/网络协议分层.md#udp) * [网络层](doc/计算机网络/网络协议分层.md#网络层) * [数据链路层](doc/计算机网络/网络协议分层.md#数据链路层) * [封装成帧](doc/计算机网络/网络协议分层.md#封装成帧) * [透明传输](doc/计算机网络/网络协议分层.md#透明传输) * [差错检测](doc/计算机网络/网络协议分层.md#差错检测) * [物理层](doc/计算机网络/网络协议分层.md#物理层) - #### TCP报文 - #### UDP报文 - [IP报文](doc/计算机网络/IP报文.md) - [TCP/IP](doc/计算机网络/TCP_IP.md) * [UDP 和 TCP 的特点](doc/计算机网络/TCP_IP.md#udp-和-tcp-的特点) * [UDP](doc/计算机网络/TCP_IP.md#udp) * [TCP](doc/计算机网络/TCP_IP.md#tcp) * #### 三次握手 * #### 四次挥手 * #### TCP怎么保障可靠传输 * [数据合理分片和排序](doc/计算机网络/TCP_IP.md#数据合理分片和排序) * [数据校验:校验和](doc/计算机网络/TCP_IP.md#数据校验校验和) * [TCP 的接收端会丢弃重复的数据](doc/计算机网络/TCP_IP.md#tcp-的接收端会丢弃重复的数据) * [超时重传](doc/计算机网络/TCP_IP.md#超时重传) * [流量控制](doc/计算机网络/TCP_IP.md#流量控制) * [拥塞控制](doc/计算机网络/TCP_IP.md#拥塞控制) * [ARQ协议](doc/计算机网络/TCP_IP.md#arq协议) * [如何实现可靠UDP传输](doc/计算机网络/TCP_IP.md#如何实现可靠udp传输) * [HTTP长连接还是短连接?](doc/计算机网络/TCP_IP.md#http长连接还是短连接) - [HTTP](doc/计算机网络/HTTP.md) * [特点](doc/计算机网络/HTTP.md#特点) * [方法](doc/计算机网络/HTTP.md#方法) * [get](doc/计算机网络/HTTP.md#get) * [head](doc/计算机网络/HTTP.md#head) * [post](doc/计算机网络/HTTP.md#post) * [put](doc/计算机网络/HTTP.md#put) * [patch](doc/计算机网络/HTTP.md#patch) * [delete](doc/计算机网络/HTTP.md#delete) * [options](doc/计算机网络/HTTP.md#options) * [connect](doc/计算机网络/HTTP.md#connect) * [trace](doc/计算机网络/HTTP.md#trace) * [状态码](doc/计算机网络/HTTP.md#状态码) * [1XX](doc/计算机网络/HTTP.md#1xx) * [2XX](doc/计算机网络/HTTP.md#2xx) * [3XX](doc/计算机网络/HTTP.md#3xx) * [4XX](doc/计算机网络/HTTP.md#4xx) * [5XX](doc/计算机网络/HTTP.md#5xx) * #### HTTPS * [什么是HTTPS](doc/计算机网络/HTTP.md#什么是https) * [端口](doc/计算机网络/HTTP.md#端口) * [HTTPS解决的问题](doc/计算机网络/HTTP.md#https解决的问题) * [HTTPS加密过程](doc/计算机网络/HTTP.md#https加密过程) * [HTTPS的CA证书放了什么,公钥放在CA里吗?](doc/计算机网络/HTTP.md#https的ca证书放了什么公钥放在ca里吗) * [CA证书是在客户端还是服务器](doc/计算机网络/HTTP.md#ca证书是在客户端还是服务器) * [HTTP1.1和HTTP1.0的主要区别](doc/计算机网络/HTTP.md#http11和http10的主要区别) * [HTTP2.0和HTTP1.x的区别](doc/计算机网络/HTTP.md#http20和http1x的区别) * [HTTP的request和response格式](doc/计算机网络/HTTP.md#http的request和response格式) - [cookie](doc/计算机网络/cookie和session.md) - [session](doc/计算机网络/cookie和session.md) - [JWT](doc/计算机网络/JWT.md) * [json web token](doc/计算机网络/JWT.md#json-web-token) * [格式](doc/计算机网络/JWT.md#格式) * [特点](doc/计算机网络/JWT.md#特点) - [跨域](doc/计算机网络/跨域.md) * [什么是跨域?](doc/计算机网络/跨域.md#什么是跨域) * [同源策略](doc/计算机网络/跨域.md#同源策略) * [解决方案](doc/计算机网络/跨域.md#解决方案) * [JSONP](doc/计算机网络/跨域.md#jsonp) * [CORS](doc/计算机网络/跨域.md#cors) - [网络攻击行为](doc/计算机网络/网络攻击行为.md) * [CSRF攻击](doc/计算机网络/网络攻击行为.md#csrf攻击) * [XSS](doc/计算机网络/网络攻击行为.md#xss) * [SQL注入](doc/计算机网络/网络攻击行为.md#sql注入) * [DDOS](doc/计算机网络/网络攻击行为.md#ddos) * [SYN Flood攻击](doc/计算机网络/网络攻击行为.md#syn-flood攻击) - [CDN](doc/计算机网络/CDN.md) * [什么是CDN](doc/计算机网络/CDN.md#什么是cdn) * [好处](doc/计算机网络/CDN.md#好处) - #### HTTP面试题 * [在浏览器中输入url地址显示主页的过程](doc/计算机网络/HTTP面试题.md#在浏览器中输入url地址显示主页的过程) * [QPS和TPS的区别](doc/计算机网络/HTTP面试题.md#qps和tps的区别) * [有哪些编码格式(GBK,UTF-8,ISO-)有没有想过为什么会有这么多的编码格式](doc/计算机网络/HTTP面试题.md#有哪些编码格式gbkutf-8iso-有没有想过为什么会有这么多的编码格式) * [实现一个长URL转短URL](doc/计算机网络/HTTP面试题.md#实现一个长url转短url) ## 数据库[↑↑](#内容概览) ### MySQL[↑↑](#内容概览) - [MySQL](doc/数据库/MySQL.md) - [架构](doc/数据库/MySQL.md#架构) - [储存引擎](doc/数据库/MySQL.md#储存引擎-1) - [InnoDB](doc/数据库/MySQL.md#innodb) - [MyISAM](doc/数据库/MySQL.md#myisam) - [索引](doc/数据库/MySQL.md#索引) - [事务](doc/数据库/MySQL.md#事务) - [ACID](doc/数据库/MySQL.md#acid) - [原子性(Atomicity,或称不可分割性)](doc/数据库/MySQL.md#原子性atomicity或称不可分割性) - [一致性(Consistency)](doc/数据库/MySQL.md#一致性consistency) - [隔离性(Isolation)](doc/数据库/MySQL.md#隔离性isolation) - [隔离级别](doc/数据库/MySQL.md#隔离级别) - [读未提交:read uncommitted](doc/数据库/MySQL.md#读未提交read-uncommitted) - [读已提交:read committed](doc/数据库/MySQL.md#读已提交read-committed) - [可重复读:repeatable read](doc/数据库/MySQL.md#可重复读repeatable-read) - [串行化:serializable](doc/数据库/MySQL.md#串行化serializable) - [持久性(Durability)](doc/数据库/MySQL.md#持久性durability) - [事务日志](doc/数据库/MySQL.md#事务日志) - [redo log(重做日志)](doc/数据库/MySQL.md#redo-log重做日志) - [undo log(回滚日志)](doc/数据库/MySQL.md#undo-log回滚日志) - [二进制日志( binlog )](doc/数据库/MySQL.md#二进制日志-binlog-) - [锁](doc/数据库/MySQL.md#锁) - [行级锁](doc/数据库/MySQL.md#行级锁) - [表级锁](doc/数据库/MySQL.md#表级锁) - [页锁](doc/数据库/MySQL.md#页锁) - [切分](doc/数据库/MySQL.md#切分) - [水平切分](doc/数据库/MySQL.md#水平切分) - [垂直切分](doc/数据库/MySQL.md#垂直切分) - [复制](doc/数据库/MySQL.md#复制) - [主从复制](doc/数据库/MySQL.md#主从复制) - [中间件](doc/数据库/MySQL.md#中间件) - [mycat](doc/数据库/MySQL.md#mycat) - [ShardingSphere](doc/数据库/MySQL.md#shardingsphere) - [SQL优化](doc/数据库/MySQL.md#sql优化) - [MySQL与PostGreSQL的区别](doc/数据库/MySQL.md#mysql与postgresql的区别) ### SQL问题 * [count(*)分页](doc/数据库/count.md) ### MongoDB[↑↑](#内容概览) * [MongoDB](doc/数据库/MongoDB.md#mongodb) * [特点](doc/数据库/MongoDB.md#特点) * [关键组件](doc/数据库/MongoDB.md#关键组件) * [_id](#数据库/MongoDB.md_id) * [集合](doc/数据库/MongoDB.md#集合) * [游标](doc/数据库/MongoDB.md#游标) * [数据库](doc/数据库/MongoDB.md#数据库) * [文档](doc/数据库/MongoDB.md#文档) * [字段](doc/数据库/MongoDB.md#字段) * [单机mongo架构](doc/数据库/MongoDB.md#单机mongo架构) * [集群模式1-MongoDB 复制(副本集)Replica set(主从关系)](doc/数据库/MongoDB.md#集群模式1-mongodb-复制副本集replica-set主从关系) * [集群模式2-MongoDB 分片](doc/数据库/MongoDB.md#集群模式2-mongodb-分片) * [WiredTiger存储引擎](doc/数据库/MongoDB.md#wiredtiger存储引擎) ### HBASE[↑↑](#内容概览) * [HBASE](doc/数据库/Hbase.md#hbase) * [什么是?](doc/数据库/Hbase.md#什么是) * [列式存储](doc/数据库/Hbase.md#列式存储) * [架构](doc/数据库/Hbase.md#架构) * [架构图](doc/数据库/Hbase.md#架构图) * [HBase 架构组件](doc/数据库/Hbase.md#hbase-架构组件) * [Regions](doc/数据库/Hbase.md#regions) * [HBase Master](doc/数据库/Hbase.md#hbase-master) * [Zookeeper](doc/数据库/Hbase.md#zookeeper) * [HBase Meta Table](doc/数据库/Hbase.md#hbase-meta-table) * [Region Server 组成](doc/数据库/Hbase.md#region-server-组成) * [HBase 写数据步骤](doc/数据库/Hbase.md#hbase-写数据步骤) * [HBase MemStore](doc/数据库/Hbase.md#hbase-memstore) * [HBase Region Flush](doc/数据库/Hbase.md#hbase-region-flush) * [HBase HFile](doc/数据库/Hbase.md#hbase-hfile) * [HBase Read 合并](doc/数据库/Hbase.md#hbase-read-合并) * [HBase Minor Compaction](doc/数据库/Hbase.md#hbase-minor-compaction) * [HBase Major Compaction](doc/数据库/Hbase.md#hbase-major-compaction) * [Region = Contiguous Keys](doc/数据库/Hbase.md#region--contiguous-keys) * [Region 分裂](doc/数据库/Hbase.md#region-分裂) * [Region 负载均衡](doc/数据库/Hbase.md#region-负载均衡) * [HDFS 数据备份](doc/数据库/Hbase.md#hdfs-数据备份) * [HBase 故障恢复](doc/数据库/Hbase.md#hbase-故障恢复) * [Apache HBase 架构的优缺点](doc/数据库/Hbase.md#apache-hbase-架构的优缺点) * [优点](doc/数据库/Hbase.md#优点) * [缺点](doc/数据库/Hbase.md#缺点) ### Elasticsearch[↑↑](#内容概览) * [Elasticsearch](doc/数据库/Elasticsearch.md#elasticsearch) * [es的特点](doc/数据库/Elasticsearch.md#es的特点) * [应用场景](doc/数据库/Elasticsearch.md#应用场景) * [Elasticsearch基本概念](doc/数据库/Elasticsearch.md#elasticsearch基本概念) * [索引(index)](doc/数据库/Elasticsearch.md#索引index) * [类型(type)](doc/数据库/Elasticsearch.md#类型type) * [文档(document)](doc/数据库/Elasticsearch.md#文档document) * [映射(mapping)](doc/数据库/Elasticsearch.md#映射mapping) * [倒排索引](doc/数据库/Elasticsearch.md#倒排索引) * [集群](doc/数据库/Elasticsearch.md#集群) * [基本概念](doc/数据库/Elasticsearch.md#基本概念) * [节点(Node)](doc/数据库/Elasticsearch.md#节点node) * [集群(Cluster)](doc/数据库/Elasticsearch.md#集群cluster) * [分片索引(Shard)](doc/数据库/Elasticsearch.md#分片索引shard) * [索引副本(Replica)](doc/数据库/Elasticsearch.md#索引副本replica) * [集群简单原理](doc/数据库/Elasticsearch.md#集群简单原理) * [插入数据流程](doc/数据库/Elasticsearch.md#插入数据流程) * [查询数据流程](doc/数据库/Elasticsearch.md#查询数据流程) * [选举算法](doc/数据库/Elasticsearch.md#选举算法) * [es性能优化](doc/数据库/Elasticsearch.md#es性能优化) * [加大filesystem cache大小](doc/数据库/Elasticsearch.md#加大filesystem-cache大小) * [数据预热](doc/数据库/Elasticsearch.md#数据预热) * [冷热分离](doc/数据库/Elasticsearch.md#冷热分离) * [document设计](doc/数据库/Elasticsearch.md#document设计) * [禁止直接分页](doc/数据库/Elasticsearch.md#禁止直接分页) * [es的分词器有哪些](doc/数据库/Elasticsearch.md#es的分词器有哪些) * [es为什么这么快](doc/数据库/Elasticsearch.md#es为什么这么快) * [es 的分页方案](doc/数据库/Elasticsearch.md#es的分页方案) * [es 的查询流程](doc/数据库/Elasticsearch.md#es的查询流程) ### Nebula Graph[↑↑](#内容概览) * [什么是Nebula Graph](doc/数据库/Nebula.md#什么是nebula-graph) * [什么是图数据库](doc/数据库/Nebula.md#什么是图数据库) * [Nebula Graph 的优势](doc/数据库/Nebula.md#nebula-graph-的优势) * [数据模型](doc/数据库/Nebula.md#数据模型) * [数据模型](doc/数据库/Nebula.md#数据模型-1) * [图空间(Space)](doc/数据库/Nebula.md#图空间space) * [点(Vertex)](doc/数据库/Nebula.md#点vertex) * [边(Edge)](doc/数据库/Nebula.md#边edge) * [标签(Tag)](doc/数据库/Nebula.md#标签tag) * [边类型(Edge type)](doc/数据库/Nebula.md#边类型edge-type) * [属性(Properties)](doc/数据库/Nebula.md#属性properties) * [有向属性图](doc/数据库/Nebula.md#有向属性图) * [路径](doc/数据库/Nebula.md#路径) * [walk](doc/数据库/Nebula.md#walk) * [trail](doc/数据库/Nebula.md#trail) * [path](doc/数据库/Nebula.md#path) * [点 VID](doc/数据库/Nebula.md#点-vid) * [服务架构](doc/数据库/Nebula.md#服务架构) * [架构总览](doc/数据库/Nebula.md#架构总览) * [Meta 服务](doc/数据库/Nebula.md#meta-服务-1) * [Graph服务](doc/数据库/Nebula.md#graph服务) * [Storage服务](doc/数据库/Nebula.md#storage服务) ## 消息队列[↑↑](#内容概览) ### Redis[↑↑](#内容概览) - [Redis](doc/消息队列/Redis.md) ### RabbitMQ[↑↑](#内容概览) - [RabbitMQ](doc/消息队列/RabbitMQ.md) * [概念介绍](doc/消息队列/RabbitMQ.md#概念介绍) * [架构图](doc/消息队列/RabbitMQ.md#架构图) * [exchange类型](doc/消息队列/RabbitMQ.md#exchange类型) * [Direct](doc/消息队列/RabbitMQ.md#direct) * [Fanout](doc/消息队列/RabbitMQ.md#fanout) * [Topic](doc/消息队列/RabbitMQ.md#topic) * [RabbitMQ 消息持久化](doc/消息队列/RabbitMQ.md#rabbitmq-消息持久化) * [集群](doc/消息队列/RabbitMQ.md#集群) * [交换器无法根据自身类型和路由键找到符合条件队列时,会如何处理?](doc/消息队列/RabbitMQ.md#交换器无法根据自身类型和路由键找到符合条件队列时会如何处理) * [RabbitMQ 的六种模式](doc/消息队列/RabbitMQ.md#rabbitmq-的六种模式) * [死信队列应用场景](doc/消息队列/RabbitMQ.md#死信队列应用场景) * [事务机制](doc/消息队列/RabbitMQ.md#事务机制) * [Confirm模式](doc/消息队列/RabbitMQ.md#confirm模式) * [producer端confirm模式的实现原理](doc/消息队列/RabbitMQ.md#producer端confirm模式的实现原理) * [开启confirm模式的方法](doc/消息队列/RabbitMQ.md#开启confirm模式的方法) * [编程模式](doc/消息队列/RabbitMQ.md#编程模式) ### RocketMQ[↑↑](#内容概览) - [RocketMQ](doc/消息队列/RocketMQ.md#rocketmq) * [架构图](doc/消息队列/RocketMQ.md#架构图) * [组件](doc/消息队列/RocketMQ.md#组件) * [NameServer](doc/消息队列/RocketMQ.md#nameserver) * [Broker](doc/消息队列/RocketMQ.md#broker) * [Producer](doc/消息队列/RocketMQ.md#producer) * [Consumer](doc/消息队列/RocketMQ.md#consumer) * [消息特性](doc/消息队列/RocketMQ.md#消息特性) * [消息功能](doc/消息队列/RocketMQ.md#消息功能) * [rocket的事务实现机制](doc/消息队列/RocketMQ.md#rocket的事务实现机制) * [Broker 集群部署架构](doc/消息队列/RocketMQ.md#broker-集群部署架构) * [多 Master 模式](doc/消息队列/RocketMQ.md#多-master-模式) * [多 Master 多 Salve - 异步复制 模式](doc/消息队列/RocketMQ.md#多-master-多-salve---异步复制-模式) * [多 Master 多 Salve - 同步双写 模式](doc/消息队列/RocketMQ.md#多-master-多-salve---同步双写-模式) * [Dledger 模式](doc/消息队列/RocketMQ.md#dledger-模式) ### Kafka[↑↑](#内容概览) - [Kafka](doc/消息队列/Kafka.md) * [架构图](doc/消息队列/Kafka.md#架构图) * [概念](doc/消息队列/Kafka.md#概念) * [topic](doc/消息队列/Kafka.md#topic) * [partition](doc/消息队列/Kafka.md#partition) * [segment](doc/消息队列/Kafka.md#segment) * [offset](doc/消息队列/Kafka.md#offset) * [broker](doc/消息队列/Kafka.md#broker) * [producer](doc/消息队列/Kafka.md#producer) * [consumer](doc/消息队列/Kafka.md#consumer) * [Kafka零拷贝](doc/消息队列/Kafka.md#kafka零拷贝) * [常见问题](doc/消息队列/Kafka.md#常见问题) * [kafka中zookeeper的作用](doc/消息队列/Kafka.md#kafka中zookeeper的作用) * [kafka的consumer是拉模式还是推模式](doc/消息队列/Kafka.md#kafka的consumer是拉模式还是推模式) * [kafka生产者丢消息情况](doc/消息队列/Kafka.md#kafka生产者丢消息情况) * [kafka消费者丢消息情况](doc/消息队列/Kafka.md#kafka消费者丢消息情况) * [Kafka如何保证高可用性](doc/消息队列/Kafka.md#kafka如何保证高可用性) * [Kafka的消息保存在哪里?Kafka的消息是如何分区的?](doc/消息队列/Kafka.md#kafka的消息保存在哪里kafka的消息是如何分区的) * [Kafka是如何处理流量峰值的?](doc/消息队列/Kafka.md#kafka是如何处理流量峰值的) * [Kafka消息压缩方式](doc/消息队列/Kafka.md#kafka消息压缩方式) * [Kafka的重平衡机制是什么?](doc/消息队列/Kafka.md#kafka的重平衡机制是什么) * [Kafka中的生产者和消费者是什么?Kafka是如何确保数据的顺序性和一致性的?](doc/消息队列/Kafka.md#kafka中的生产者和消费者是什么kafka是如何确保数据的顺序性和一致性的) * [kafka消费组怎么消费一个topic的数据](doc/消息队列/Kafka.md#kafka消费组怎么消费一个topic的数据) * [Kafka有哪些优缺点?](doc/消息队列/Kafka.md#kafka有哪些优缺点) * [Kafka的API是什么?如何使用Kafka API实现生产和消费?](doc/消息队列/Kafka.md#kafka的api是什么如何使用kafka-api实现生产和消费) * [如何部署和扩展Kafka集群?](doc/消息队列/Kafka.md#如何部署和扩展kafka集群) ### Zookeeper[↑↑](#内容概览) - [Zookeeper](doc/消息队列/Zookeeper.md) * [概念](doc/消息队列/Zookeeper.md#概念) * [用zookeeper可以干嘛](doc/消息队列/Zookeeper.md#用zookeeper可以干嘛) * [数据结构](doc/消息队列/Zookeeper.md#数据结构) * [ZNode](doc/消息队列/Zookeeper.md#znode) * [监听机制](doc/消息队列/Zookeeper.md#监听机制) * [角色](doc/消息队列/Zookeeper.md#角色) * [leader](doc/消息队列/Zookeeper.md#leader) * [follower](doc/消息队列/Zookeeper.md#follower) * [Observer](doc/消息队列/Zookeeper.md#observer) * [Zookeeper Leader 选举原理](doc/消息队列/Zookeeper.md#zookeeper-leader-选举原理) * [常见的问题](doc/消息队列/Zookeeper.md#常见的问题) * [什么是Zookeeper?它的作用是什么?](doc/消息队列/Zookeeper.md#什么是zookeeper它的作用是什么) * [Zookeeper是如何实现数据的一致性和可靠性的?](doc/消息队列/Zookeeper.md#zookeeper是如何实现数据的一致性和可靠性的) * [Zookeeper中的watcher是什么?如何使用watcher机制实现分布式锁?](doc/消息队列/Zookeeper.md#zookeeper中的watcher是什么如何使用watcher机制实现分布式锁) * [Zookeeper的性能瓶颈在哪里?如何优化Zookeeper的性能?](doc/消息队列/Zookeeper.md#zookeeper的性能瓶颈在哪里如何优化zookeeper的性能) * [如何在Zookeeper集群中进行数据的备份和恢复?](doc/消息队列/Zookeeper.md#如何在zookeeper集群中进行数据的备份和恢复) ### Pulsar[↑↑](#内容概览) - [Pulsar](doc/消息队列/Pulsar.md) * [pulsar的优势](doc/消息队列/Pulsar.md#pulsar的优势) * [Apache Pulsar 架构](doc/消息队列/Pulsar.md#apache-pulsar-架构) * [Topic 与分区](doc/消息队列/Pulsar.md#topic-与分区) * [物理分区与逻辑分区](doc/消息队列/Pulsar.md#物理分区与逻辑分区) * [消息存储原理与 ID 规则](doc/消息队列/Pulsar.md#消息存储原理与-id-规则) * [消息 ID 生成规则](doc/消息队列/Pulsar.md#消息-id-生成规则) * [分片机制详解:Legder 和 Entry](doc/消息队列/Pulsar.md#分片机制详解legder-和-entry) * [消息副本与存储机制](doc/消息队列/Pulsar.md#消息副本与存储机制) * [消息元数据组成](doc/消息队列/Pulsar.md#消息元数据组成) * [消息副本机制](doc/消息队列/Pulsar.md#消息副本机制) * [消息恢复机制](doc/消息队列/Pulsar.md#消息恢复机制) * [pulsar的消息模式](doc/消息队列/Pulsar.md#pulsar的消息模式) * [独占模式(Exclusive)](doc/消息队列/Pulsar.md#独占模式exclusive) * [灾备模式(Failover)](doc/消息队列/Pulsar.md#灾备模式failover) * [共享模式(Shared)](doc/消息队列/Pulsar.md#共享模式shared) * [定时和延时消息](doc/消息队列/Pulsar.md#定时和延时消息) * [相关概念](doc/消息队列/Pulsar.md#相关概念) * [适用场景](doc/消息队列/Pulsar.md#适用场景) * [使用方式](doc/消息队列/Pulsar.md#使用方式) * [定时消息](doc/消息队列/Pulsar.md#定时消息) * [延时消息](doc/消息队列/Pulsar.md#延时消息) * [使用说明和限制](doc/消息队列/Pulsar.md#使用说明和限制) * [消息重试与死信机制](doc/消息队列/Pulsar.md#消息重试与死信机制) * [自动重试](doc/消息队列/Pulsar.md#自动重试) * [自定义参数设置](doc/消息队列/Pulsar.md#自定义参数设置) * [重试规则](doc/消息队列/Pulsar.md#重试规则) * [重试消息的消息属性](doc/消息队列/Pulsar.md#重试消息的消息属性) * [重试消息的消息 ID 流转](doc/消息队列/Pulsar.md#重试消息的消息-id-流转) * [主动重试](doc/消息队列/Pulsar.md#主动重试) - [常见面试题](doc/消息队列/mq常见面试题.md) * [什么是消息队列](doc/消息队列/mq常见面试题.md#什么是消息队列) * [为什么要使用消息队列](doc/消息队列/mq常见面试题.md#为什么要使用消息队列) * [如何保证消息队列高可用](doc/消息队列/mq常见面试题.md#如何保证消息队列高可用) * [如何保证消息队列不被重复消费(幂等性)](doc/消息队列/mq常见面试题.md#如何保证消息队列不被重复消费幂等性) * [如何保证消息的可靠传输](doc/消息队列/mq常见面试题.md#如何保证消息的可靠传输) * [生产者丢数据](doc/消息队列/mq常见面试题.md#生产者丢数据) * [MQ丢数据](doc/消息队列/mq常见面试题.md#mq丢数据) * [消费者丢数据](doc/消息队列/mq常见面试题.md#消费者丢数据) * [如何保证消息的顺序性](doc/消息队列/mq常见面试题.md#如何保证消息的顺序性) * [如何处理消息堆积](doc/消息队列/mq常见面试题.md#如何处理消息堆积) * [mq 中的消息过期失效了](doc/消息队列/mq常见面试题.md#mq-中的消息过期失效了) ## Redis[↑↑](#内容概览) * [特点](doc/Redis/Redis.md#特点) * [Redis为什么这么快](doc/Redis/Redis.md#redis为什么这么快) * [常见使用场景](doc/Redis/Redis.md#常见使用场景) * [数据类型](doc/Redis/Redis.md#数据类型) * [redisObject](doc/Redis/Redis.md#redisobject) * [string](doc/Redis/Redis.md#string) * [list](doc/Redis/Redis.md#list) * [hash](doc/Redis/Redis.md#hash) * [set](doc/Redis/Redis.md#set) * [zset(sorted set)](doc/Redis/Redis.md#zsetsorted-set) * [bitmap](doc/Redis/Redis.md#bitmap) * [HyperLogLog](doc/Redis/Redis.md#hyperloglog) * [内存回收策略](doc/Redis/Redis.md#内存回收策略) * [持久化方式](doc/Redis/Redis.md#持久化方式) * [RDB快照](doc/Redis/Redis.md#rdb快照) * [AOF追加](doc/Redis/Redis.md#aof追加) * [Redis 中的事务](doc/Redis/Redis.md#redis-中的事务) * [常问故障场景](doc/Redis/Redis.md#常问故障场景) * [缓存雪崩](doc/Redis/Redis.md#缓存雪崩) * [缓存穿透](doc/Redis/Redis.md#缓存穿透) * [集群](doc/Redis/Redis.md#集群) * [主从复制模式](doc/Redis/Redis.md#主从复制模式) * [Sentinel(哨兵)模式](doc/Redis/Redis.md#sentinel哨兵模式) * [Cluster 集群模式](doc/Redis/Redis.md#cluster-集群模式) * [Redis Cluster 节点通信原理:Gossip 算法](doc/Redis/Redis.md#redis-cluster-节点通信原理gossip-算法) * [Gossip 简介](doc/Redis/Redis.md#gossip-简介) * [节点状态和消息类型](doc/Redis/Redis.md#节点状态和消息类型) * [Redis cluster伸缩的原理](doc/Redis/Redis.md#redis-cluster伸缩的原理) * [redis索引](doc/Redis/Redis.md#redis索引) ### Redis常见面试题[↑↑](#内容概览) * [储存结构和使用场景](doc/Redis/Redis常见面试题.md#储存结构和使用场景) * [淘汰策略](doc/Redis/Redis常见面试题.md#淘汰策略) ## Spring[↑↑](#内容概览) - [Spring](doc/Spring/Spring.md) * [架构图](doc/Spring/Spring.md#架构图) * [模块](doc/Spring/Spring.md#模块) * [IOC](doc/Spring/Spring.md#ioc) * [IOC和DI的概念](doc/Spring/Spring.md#ioc和di的概念) * [使用IOC的好处](doc/Spring/Spring.md#使用ioc的好处) * [Spring IoC的初始化过程](doc/Spring/Spring.md#spring-ioc的初始化过程) * [Spring bean的生命周期](doc/Spring/Spring.md#spring-bean的生命周期) * [bean的作用域](doc/Spring/Spring.md#bean的作用域) * [循环依赖问题](doc/Spring/Spring.md#循环依赖问题) * [AOP](doc/Spring/Spring.md#aop) * [AOP原理](doc/Spring/Spring.md#aop原理) * [AOP术语](doc/Spring/Spring.md#aop术语) * [Spring对AOP的支持](doc/Spring/Spring.md#spring对aop的支持) * [怎么定义一个注解](doc/Spring/Spring.md#怎么定义一个注解) * [引入依赖](doc/Spring/Spring.md#引入依赖) * [定义注解](doc/Spring/Spring.md#定义注解) * [事务](doc/Spring/Spring.md#事务) * [Spring 支持两种方式的事务管理](doc/Spring/Spring.md#spring-支持两种方式的事务管理) * [事务的传播性 Propagation](doc/Spring/Spring.md#事务的传播性-propagation) * [spring事务失效的场景](doc/Spring/Spring.md#spring事务失效的场景) * [spring使用的设计模式](doc/Spring/Spring.md#spring使用的设计模式) * [简单工厂](doc/Spring/Spring.md#简单工厂) * [工厂方法](doc/Spring/Spring.md#工厂方法) * [单例模式](doc/Spring/Spring.md#单例模式) * [适配器模式](doc/Spring/Spring.md#适配器模式) * [装饰器模式](doc/Spring/Spring.md#装饰器模式) * [代理模式](doc/Spring/Spring.md#代理模式) * [spring中properties和yml的加载顺序](doc/Spring/Spring.md#spring中properties和yml的加载顺序) * [使用@Autowired注解自动装配的过程是怎样的?](doc/Spring/Spring.md#使用autowired注解自动装配的过程是怎样的) * [@Autowired和@Resource之间的区别](doc/Spring/Spring.md#autowired和resource之间的区别) * [Spring中BeanFactory与FactoryBean的区别](doc/Spring/Spring.md#spring中beanfactory与factorybean的区别) ### SpringMVC[↑↑](#内容概览) - [SpringMVC](doc/Spring/SpringMVC.md) * [流程](doc/Spring/SpringMVC.md#流程) * [执行流程](doc/Spring/SpringMVC.md#执行流程) ### SpringBoot[↑↑](#内容概览) - [SpringBoot](doc/Spring/SpringBoot.md) * [springboot启动流程](doc/Spring/SpringBoot.md#springboot启动流程) * [怎么让Spring把Body变成一个对象](doc/Spring/SpringBoot.md#怎么让spring把body变成一个对象) * [SpringBoot的starter实现原理是什么?](doc/Spring/SpringBoot.md#springboot的starter实现原理是什么) ## Springcloud[↑↑](#内容概览) * [服务注册与发现](doc/SpringCloud/springcloud.md#服务注册与发现) * [eureka](doc/SpringCloud/springcloud.md#eureka) * [consul](doc/SpringCloud/springcloud.md#consul) * [ribbon](doc/SpringCloud/springcloud.md#ribbon) * [loadbalancer](doc/SpringCloud/springcloud.md#loadbalancer) * [feign](doc/SpringCloud/springcloud.md#feign) * [openFeign](doc/SpringCloud/springcloud.md#openfeign) * [hystrix](doc/SpringCloud/springcloud.md#hystrix) * [resilience4j](doc/SpringCloud/springcloud.md#resilience4j) * [zuul](doc/SpringCloud/springcloud.md#zuul) * [zuul2](doc/SpringCloud/springcloud.md#zuul2) * [getway](doc/SpringCloud/springcloud.md#getway) * [springcloud config](doc/SpringCloud/springcloud.md#springcloud-config) * [Nacos](doc/SpringCloud/springcloud.md#nacos) ## SpringcloudAlibaba[↑↑](#内容概览) * [SpringcloudAlibaba](doc/SpringCloud/springcloud.md#springcloudalibaba) * [Nacos](doc/SpringCloud/springcloud.md#nacos-1) * [Sentienl](doc/SpringCloud/springcloud.md#sentienl) ## Linux[↑↑](#内容概览) * [文件和目录的操作](doc/Linux/linux.md#文件和目录的操作) * [查看文件](doc/Linux/linux.md#查看文件) * [管理用户](doc/Linux/linux.md#管理用户) * [进程管理](doc/Linux/linux.md#进程管理) * [打包和压缩文件](doc/Linux/linux.md#打包和压缩文件) * [grep+正则表达式](doc/Linux/linux.md#grep) * [Vi编辑器](doc/Linux/linux.md#Vi编辑器) * [权限管理](doc/Linux/linux.md#权限管理) * [网络管理](doc/Linux/linux.md#网络管理) * [cpu100%怎么排查](doc/Linux/linux.md#cpu100怎么排查) * [用户空间与内核空间](doc/Linux/linux.md#用户空间与内核空间) * #### Linux的进程、线程、文件描述符是什么 * [进程切换](doc/Linux/linux.md#进程切换) * [进程的阻塞](doc/Linux/linux.md#进程的阻塞) * [文件描述符fd](doc/Linux/linux.md#文件描述符fd) * [缓存 I/O](doc/Linux/linux.md#缓存-io) * #### IO模型 * #### select、poll、epoll * [进程间8种通信方式详解](doc/Linux/linux.md#进程间8种通信方式详解) * [Linux物理内存和虚拟内存](doc/Linux/linux.md#linux物理内存和虚拟内存) * [页面置换算法](doc/Linux/linux.md#页面置换算法) * [进程调度算法](doc/Linux/linux.md#进程调度算法) ## Mybatis[↑↑](#内容概览) - [什么是mybatis](doc/Mybatis/mybatis.md) - [JDBC执行六步骤](doc/Mybatis/mybatis.md) - [mybatis执行8步骤](doc/Mybatis/mybatis.md) - [MyBatis整体架构](doc/Mybatis/mybatis.md) - [mybatis缓存](doc/Mybatis/mybatis.md) ## Netty[↑↑](#内容概览) * [重要的组件](doc/Netty/netty.md#重要的组件) * [Channel](doc/Netty/netty.md#channel) * [ChannelFuture](doc/Netty/netty.md#channelfuture) * [EventLoop](doc/Netty/netty.md#eventloop) * [ChannelHandler](doc/Netty/netty.md#channelhandler) * [ChannelPipeline](doc/Netty/netty.md#channelpipeline) * [TaskQueue](doc/Netty/netty.md#taskqueue) * [netty的使用示例](doc/Netty/netty.md#netty的使用示例) * [服务端](doc/Netty/netty.md#服务端) * [客户端](doc/Netty/netty.md#客户端) * [TCP粘包/拆包问题](doc/Netty/netty.md#tcp粘包拆包问题) * [什么是粘包拆包](doc/Netty/netty.md#什么是粘包拆包) * [发生的原因](doc/Netty/netty.md#发生的原因) * [粘包解决策略](doc/Netty/netty.md#粘包解决策略) * [netty粘包问题解决方案](doc/Netty/netty.md#netty粘包问题解决方案) * [解编码技术](doc/Netty/netty.md#解编码技术) * [Java序列化的缺点](doc/Netty/netty.md#java序列化的缺点) * [Google的protobuf](doc/Netty/netty.md#google的protobuf) * [Facebook的Thrift](doc/Netty/netty.md#facebook的thrift) * [JBoss的Marshalling](doc/Netty/netty.md#jboss的marshalling) * [MessagePack](doc/Netty/netty.md#messagepack) * [高性能的原因](doc/Netty/netty.md#高性能的原因) * [非阻塞io](doc/Netty/netty.md#非阻塞io) * [零拷贝](doc/Netty/netty.md#零拷贝) * [内存池](doc/Netty/netty.md#内存池) * [高效的Reactor线程模型](doc/Netty/netty.md#高效的reactor线程模型) * [Reactor 单线程模型](doc/Netty/netty.md#reactor-单线程模型) * [Reactor 多线程模型](doc/Netty/netty.md#reactor-多线程模型) * [(采用)主从 Reactor 多线程模型](doc/Netty/netty.md#采用主从-reactor-多线程模型) * [无锁化串行设计](doc/Netty/netty.md#无锁化串行设计) * [高性能的序列化框架](doc/Netty/netty.md#高性能的序列化框架) * [灵活的TCP 参数配置能力](doc/Netty/netty.md#灵活的tcp-参数配置能力) * [netty相关问题](doc/Netty/netty.md#netty相关问题) ## 分布式相关[↑↑](#内容概览) - #### 分布式锁 * [基于数据库](doc/分布式相关/分布式锁.md#基于数据库) * [Redis](doc/分布式相关/分布式锁.md#redis) * [zookeeper](doc/分布式相关/分布式锁.md#zookeeper) - #### 分布式事务 * [两阶段提交](doc/分布式相关/分布式事务.md#两阶段提交) * [TCC(Try-Confirm-Cancel)](doc/分布式相关/分布式事务.md#tcctry-confirm-cancel) * [本地消息表](doc/分布式相关/分布式事务.md#本地消息表) * [可靠消息最终一致性](doc/分布式相关/分布式事务.md#可靠消息最终一致性) * [尽最大努力通知](doc/分布式相关/分布式事务.md#尽最大努力通知) * [Apache Seata](doc/分布式相关/ApacheSeata.md) - #### 分布式唯一ID设计 * [UUID](doc/分布式相关/分布式ID.md##uuid) * [多台MySQL服务器](doc/分布式相关/分布式ID.md##多台mysql服务器) * [Twitter Snowflake](doc/分布式相关/分布式ID.md##twitter-snowflake) * [百度UidGenerator算法](doc/分布式相关/分布式ID.md##百度uidgenerator算法) * [美团Leaf算法](doc/分布式相关/分布式ID.md##美团leaf算法) - #### CAP理论 * [一致性 Consistency](doc/分布式相关/CAP.md#一致性-consistency) * [可用性 Availability](doc/分布式相关/CAP.md#可用性-availability) * [分区容错性 Partition Tolerance](doc/分布式相关/CAP.md#分区容错性-partition-tolerance) * [常见的注册中心](#常见的注册中心) - [BASE](doc/分布式相关/BASE.md) * [基本可以 Basically Available](doc/分布式相关/BASE.md#基本可以--basically-available) * [软状态 Soft-state](doc/分布式相关/BASE.md#软状态--soft-state) * [最终一致性 Eventually Consistent](doc/分布式相关/BASE.md#最终一致性--eventually-consistent) - #### 一致性算法 * [Paxos](doc/分布式相关/一致性算法.md#paxos) * [Raft](doc/分布式相关/一致性算法.md#raft) ## 容器技术[↑↑](#内容概览) - #### Docker * [Docker简介](doc/容器技术/docker.md#docker简介) * [Docker常用命令](doc/容器技术/docker.md#docker常用命令) * [Docker应用架构](doc/容器技术/docker.md#docker应用架构) * [底层实现原理](doc/容器技术/docker.md#底层实现原理) - #### Kubernetes ## 数据结构和算法[↑↑](#内容概览) - #### 排序算法 - #### 树相关 --todo - #### BFS --todo - #### DFS --todo - #### 回溯算法 --todo - #### 二分法 --todo - #### 贪心算法 --todo - #### 动态规划 --todo - #### 分治思想 --todo - [LRU](doc/数据结构和算法/LRU.md) - [LFU](doc/数据结构和算法/LFU.md) - [加减乘除](doc/数据结构和算法/加减乘除.md) ## 设计模式[↑↑](#内容概览) - [工厂模式](doc/设计模式/工厂模式.md) - [单例模式](doc/设计模式/单例模式.md) - 建造者模式 - 原型模式 - 适配器模式 - [装饰器模式](doc/设计模式/装饰者模式.md) - 代理模式 - 外观模式 - 桥接模式 - 组合模式 - 享元模式 - [策略模式](doc/设计模式/策略模式.md) - 模板方法模式 - 观察者模式 - 迭代子模式 - 责任链模式 - 备忘录模式 - 状态模式 - 访问者模式 - 中介者模式 - 解释器模式 ## 职业规划和学习习惯[↑↑](#内容概览) - [项目中遇到的问题](doc/职业规划和学习习惯/职业规划和学习习惯.md#项目中遇到的问题) - [职业规划](doc/职业规划和学习习惯/职业规划和学习习惯.md#职业规划) - [平时规则](doc/职业规划和学习习惯/职业规划和学习习惯.md#平时规则) ## 场景设计[↑↑](#内容概览) - [有A、B两个大文件,每个文件几十G,而内存只有4G,其中A文件存放学号+姓名,而B文件存放学号+分数,要求生成文件C,存放姓名和分数。怎么实现?](doc/场景设计/场景设计.md) - [秒杀系统怎么设计](doc/场景设计/场景设计.md#秒杀系统怎么设计) - [唯一ID设计](doc/场景设计/场景设计.md#唯一ID设计) - [产品上线出问题怎么定位错误](doc/场景设计/场景设计.md#产品上线出问题怎么定位错误) - [大量并发查询用户商品信息,MySQL压力大查询慢,保证速度怎么优化方案](doc/场景设计/场景设计.md#大量并发查询用户商品信息,MySQL压力大查询慢,保证速度怎么优化方案) - [海量日志数据,提取出某日访问百度次数最多的那个IP。给定a、b两个文件,各存放50亿个url,每个url各 占64字节,内存限制是4G,让你找出a、b文件共同的url?](doc/场景设计/场景设计.md) - [一般内存不足而需要分析的数据又很大的问题都可以使用分治的思想,将数据hash(x)%1000分为小文件再分别加载小文件到内存中处理即可](doc/场景设计/场景设计.md#一般内存不足而需要分析的数据又很大的问题都可以使用分治的思想将数据hashx1000分为小文件再分别加载小文件到内存中处理即可) - [如何保证接口的幂等性](doc/场景设计/场景设计.md#如何保证接口的幂等性) - [缓存和数据库不一致问题](doc/场景设计/场景设计.md#缓存和数据库不一致问题) - [什么是SPI](doc/场景设计/场景设计.md#什么是SPI) - [什么是RPC?](doc/场景设计/场景设计.md#什么是rpc) - [gRPC](doc/场景设计/场景设计.md#gRPC) - [一个优秀的RPC框架需要考虑的问题](doc/场景设计/场景设计.md#一个优秀的RPC框架需要考虑的问题) - [什么是DDD](doc/场景设计/场景设计.md#什么是ddd) - [Java实现生产者消费者](doc/场景设计/场景设计.md#java实现生产者消费者) - [Java实现BlockQueue](doc/场景设计/场景设计.md#java实现blockqueue) - [解决哈希冲突的方法](doc/场景设计/场景设计.md#解决哈希冲突的方法) - [排行榜设计](doc/场景设计/场景设计.md#排行榜设计) ## 智力题[↑↑](#内容概览) - [100只试管里有-只是有毒的,现在有10个小白鼠,如何最快速地判断出那只试管有毒](doc/智力题/智力题.md) - [共1000瓶药水,其中I瓶有毒药。已知小白鼠喝毒药一天内死若想在一天内找到毒药,最少需要几只小白鼠?](doc/智力题/智力题.md) - [只有两个无刻度的水桶,-个可以装6L水,-一个可以装5L水,如何在桶里装入3L的水](doc/智力题/智力题.md) - [25匹马,5个赛道, 每次只能同时有5匹马跑,最少比赛几次选出前三名?家里有两个孩子,一个是女孩,另一个也是女孩的概率是多少?](doc/智力题/智力题.md) - [烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?](doc/智力题/智力题.md) - [共12个一样的小球,其中只有一个重量与其它不一一样(未知轻重),给你一个天平,找出那个不同重量的球?](doc/智力题/智力题.md) - [有10瓶药,每瓶有10粒药,其中有一瓶是变质的。好药每颗重1克,变质的药每颗比好药重0.1克。问怎样用天秤称一次找出变质的那瓶药?](doc/智力题/智力题.md) - [你有两个罐子,50个红色弹球,50个蓝色弹球,如何将这100个球放入到两个罐子,随机选出一个罐子取出的球为红球的概率最大?](doc/智力题/智力题.md) - [抢30是双人游戏,游戏规则是:第一个人喊"1"或"2",第二个人要接着往下喊一个或两个数,然后再轮到第一个人。 两人轮流进行下去。最后喊30的人获胜。问喊数字的最佳策略。](doc/智力题/智力题.md) - [某人进行10次打靶,每次打靶可能的得分为0到10分,10次打靶共得90分的可能性有多少种](doc/智力题/智力题.md) ## 架构[↑↑](#内容概览) - #### 系统设计 - #### 计算和储存分离 - #### DDD领域驱动设计 ## 面试解答[↑↑](#内容概览) - [HR会问什么](doc/面试解答/HR会问什么.md) - [面试解答6月牛客](doc/面试解答/面试解答2021-06.md) - [面试解答7月牛客](doc/面试解答/面试解答2021-07.md) - [面试解答9月牛客](doc/面试解答/面试解答2021-09.md) - [面试解答10月牛客](doc/面试解答/面试解答2021-10.md) ## 商城类问题[↑↑](#内容概览) - [秒杀](doc/商城类问题/商城类问题.md#秒杀) - [超卖](doc/商城类问题/商城类问题.md#如何解决超卖问题) - [订单延迟](doc/商城类问题/商城类问题.md#订单延时取消怎么做) # 免责声明[↑↑](#内容概览) > 某些知识点、观点、图片是从各种优秀博主、作者、大佬们的文章里或文献里提取的,我只是搬运工,如果觉得有侵犯到您的权益,请联系我,我将根据您的要求修改(添加您的出处链接、删除、修改....),谢谢大佬! # 最后[↑↑](#内容概览) > 不积跬步无以至千里 [//]: # (## 微信交流) [//]: # () [//]: # (> 可以关注我的微信公众号,一些学习资料关注后可以分享给你) [//]: # () [//]: # () [//]: # ()