<div align="center">
<a href="https://github.com/h2pl/Java-Tutorial">
    <img src="https://java-tutorial.oss-cn-shanghai.aliyuncs.com/Javatutorial-v1.png" width="300" height="300"/>
</a>
</div>

<p>
<div align="center">
    <a href="https://github.com/h2pl/Java-Tutorial"><img src="https://img.shields.io/github/stars/h2pl/JavaTutorial.svg"></a>
    <a href="https://github.com/h2pl/Java-Tutorial"><img src="https://img.shields.io/github/forks/h2pl/JavaTutorial.svg"></a>
    <a href="https://github.com/h2pl/Java-Tutorial"><img src="https://img.shields.io/github/issues/h2pl/JavaTutorial.svg"></a>
    <a href="https://github.com/h2pl/Java-Tutorial"><img src="https://img.shields.io/github/license/h2pl/JavaTutorial.svg"></a>
    <a href="https://github.com/h2pl/Java-Tutorial"><img src="https://img.shields.io/github/last-commit/h2pl/JavaTutorial.svg"></a>
    <a href="https://github.com/h2pl/Java-Tutorial"><img src="https://img.shields.io/github/release/h2pl/JavaTutorial.svg"></a>
</div>
</p>

力求打造最完整最实用的Java工程师学习指南！

这些文章和总结都是我近几年学习Java总结和整理出来的，非常实用，对于学习Java后端的朋友来说应该是最全面最完整的技术仓库。
我靠着这些内容进行复习，拿到了BAT等大厂的offer，这个仓库也已经帮助了很多的Java学习者，如果对你有用，希望能给个star支持我，谢谢！

为了更好地讲清楚每个知识模块，我们也参考了很多网上的优质博文，力求不漏掉每一个知识点，所有参考博文都将声明转载来源，如有侵权，请联系我。

点击关注[微信公众号](#微信公众号)及时获取笔主最新更新文章，并可免费领取Java工程师必备学习资源

<p align="center">
<a href="https://github.com/h2pl/Java-Tutorial" target="_blank">
    <img src="https://java-tutorial.oss-cn-shanghai.aliyuncs.com/Javatutorial.jpeg" width="900" height="300"/>
</a>
</p>
                                                                          


## 目录

- [Java基础](#Java基础)
    - [基础知识](#基础知识)
    - [容器](#容器)
    - [设计模式](#设计模式)
- [JavaWeb](#JavaWeb)
    - [Spring](#Spring)
    - [SpringMVC](#SpringMVC)
    - [SpringBoot](#SpringBoot)
- [Java进阶](#Java进阶)
    - [并发](#并发)
    - [JVM](#JVM)
    - [Java网络编程](#Java网络编程)
- [计算机基础](#计算机基础)
    - [计算机网络](#计算机网络)
    - [操作系统](#操作系统)
        - [Linux相关](#linux相关)
    - [数据结构与算法](#数据结构与算法)
        - [数据结构](#数据结构)
        - [算法](#算法)
- [数据库](#数据库)
    - [MySQL](#MySQL)
- [缓存](#缓存)
    - [Redis](#Redis)
- [消息队列](#消息队列)
    - [Kafka](#Kafka)
- [大后端](#大后端)
- [分布式](#分布式)
    - [理论](#理论)
    - [实战](#实战)
- [面试指南](#面试指南)
    - [校招指南](#校招指南)
    - [面经](#面经)
- [工具](#工具)
    - [Git](#git)
- [资料](#资料)
    - [书单](#书单)
- [待办](#待办)
- [说明](#说明)
- [微信公众号](#微信公众号)

## Java基础

### 基础知识

* [面向对象基础](docs/java/basic/面向对象基础.md)
* [Java基本数据类型](docs/java/basic/Java基本数据类型.md)
* [string和包装类](docs/java/basic/string和包装类.md)
* [final关键字特性](docs/java/basic/final关键字特性.md)

* [Java类和包](docs/java/basic/Java类和包.md)
* [抽象类和接口](docs/java/basic/抽象类和接口.md)
* [代码块和代码执行顺序](docs/java/basic/代码块和代码执行顺序.md)
* [Java自动拆箱装箱里隐藏的秘密](docs/java/basic/Java自动拆箱装箱里隐藏的秘密.md)
* [Java中的Class类和Object类](docs/java/basic/Java中的Class类和Object类.md)
* [Java异常](docs/java/basic/Java异常.md)
* [解读Java中的回调](docs/java/basic/解读Java中的回调.md)
* [反射](docs/java/basic/反射.md)
* [泛型](docs/java/basic/泛型.md)
* [枚举类](docs/java/basic/枚举类.md)
* [Java注解和最佳实践](docs/java/basic/Java注解和最佳实践.md)
* [JavaIO流](docs/java/basic/JavaIO流.md)
* [多线程](docs/java/basic/多线程.md)
* [深入理解内部类](docs/java/basic/深入理解内部类.md)
* [javac和javap](docs/java/basic/javac和javap.md)
* [Java8新特性终极指南](docs/java/basic/Java8新特性终极指南.md)
* [序列化和反序列化](docs/java/basic/序列化和反序列化.md)
* [继承封装多态的实现原理](docs/java/basic/继承封装多态的实现原理.md)

### 容器

* [Java集合类总结](docs/java/collection/Java集合类总结.md)
* [Java集合详解：一文读懂ArrayList,Vector与Stack使用方法和实现原理](docs/java/collection/Java集合详解：一文读懂ArrayList,Vector与Stack使用方法和实现原理.md)  
* [Java集合详解：Queue和LinkedList](docs/java/collection/Java集合详解：Queue和LinkedList.md)
* [Java集合详解：Iterator，fail-fast机制与比较器](docs/java/collection/Java集合详解：Iterator，fail-fast机制与比较器.md)
* [Java集合详解：HashMap和HashTable](docs/java/collection/Java集合详解：HashMap和HashTable.md)
* [Java集合详解：深入理解LinkedHashMap和LRU缓存](docs/java/collection/Java集合详解：深入理解LinkedHashMap和LRU缓存.md)
* [Java集合详解：TreeMap和红黑树](docs/java/collection/Java集合详解：TreeMap和红黑树.md)
* [Java集合详解：HashSet，TreeSet与LinkedHashSet](docs/java/collection/Java集合详解：HashSet，TreeSet与LinkedHashSet.md)
* [Java集合详解：Java集合类细节精讲](docs/java/collection/Java集合详解：Java集合类细节精讲.md)

### 设计模式

* [设计模式学习总结](docs/java/design-parttern/设计模式学习总结.md)
* [初探Java设计模式：创建型模式（工厂，单例等）.md](docs/java/design-parttern/初探Java设计模式：创建型模式（工厂，单例等）.md)
* [初探Java设计模式：结构型模式（代理模式，适配器模式等）.md](docs/java/design-parttern/初探Java设计模式：结构型模式（代理模式，适配器模式等）.md)
* [初探Java设计模式：行为型模式（策略，观察者等）.md](docs/java/design-parttern/初探Java设计模式：行为型模式（策略，观察者等）.md)
* [初探Java设计模式：JDK中的设计模式.md](docs/java/design-parttern/初探Java设计模式：JDK中的设计模式.md)
* [初探Java设计模式：Spring涉及到的种设计模式.md](docs/java/design-parttern/初探Java设计模式：Spring涉及到的种设计模式.md)

## JavaWeb

* [走进JavaWeb技术世界：JavaWeb的由来和基础知识](docs/java-web/走进JavaWeb技术世界：JavaWeb的由来和基础知识.md)
* [走进JavaWeb技术世界：JSP与Servlet的曾经与现在](docs/java-web/走进JavaWeb技术世界：JSP与Servlet的曾经与现在.md)
* [走进JavaWeb技术世界：JDBC的进化与连接池技术](docs/java-web/走进JavaWeb技术世界：JDBC的进化与连接池技术.md)
* [走进JavaWeb技术世界：Servlet工作原理详解](docs/java-web/走进JavaWeb技术世界：Servlet工作原理详解.md)
* [走进JavaWeb技术世界：初探Tomcat的HTTP请求过程](docs/java-web/走进JavaWeb技术世界：初探Tomcat的HTTP请求过程.md)
* [走进JavaWeb技术世界：Tomcat5总体架构剖析](docs/java-web/走进JavaWeb技术世界：Tomcat5总体架构剖析.md)
* [走进JavaWeb技术世界：Tomcat和其他WEB容器的区别](docs/java-web/走进JavaWeb技术世界：Tomcat和其他WEB容器的区别.md)
* [走进JavaWeb技术世界：浅析Tomcat9请求处理流程与启动部署过程](docs/java-web/走进JavaWeb技术世界：浅析Tomcat9请求处理流程与启动部署过程.md)
* [走进JavaWeb技术世界：Java日志系统的诞生与发展](docs/java-web/走进JavaWeb技术世界：Java日志系统的诞生与发展.md)
* [走进JavaWeb技术世界：从JavaBean讲到Spring](docs/java-web/走进JavaWeb技术世界：从JavaBean讲到Spring.md)
* [走进JavaWeb技术世界：单元测试框架Junit](docs/java-web/走进JavaWeb技术世界：单元测试框架Junit.md)
* [走进JavaWeb技术世界：从手动编译打包到项目构建工具Maven](docs/java-web/走进JavaWeb技术世界：从手动编译打包到项目构建工具Maven.md)
* [走进JavaWeb技术世界：Hibernate入门经典与注解式开发](docs/java-web/走进JavaWeb技术世界：Hibernate入门经典与注解式开发.md)
* [走进JavaWeb技术世界：Mybatis入门](docs/java-web/走进JavaWeb技术世界：Mybatis入门.md)
* [走进JavaWeb技术世界：深入浅出Mybatis基本原理](docs/java-web/走进JavaWeb技术世界：深入浅出Mybatis基本原理.md)
* [走进JavaWeb技术世界：极简配置的SpringBoot](docs/java-web/走进JavaWeb技术世界：极简配置的SpringBoot.md)

### Spring

* [Spring源码剖析：Spring概述](docs/java-web/Spring/Spring源码剖析：Spring概述.md)
* [Spring源码剖析：初探SpringIOC核心流程](docs/java-web/Spring/Spring源码剖析：初探SpringIOC核心流程.md)
* [Spring源码剖析：SpringIOC容器的加载过程 ](docs/java-web/Spring/Spring源码剖析：SpringIOC容器的加载过程.md)
* [Spring源码剖析：懒加载的单例Bean获取过程分析](docs/java-web/Spring/Spring源码剖析：懒加载的单例Bean获取过程分析.md)
* [Spring源码剖析：JDK和cglib动态代理原理详解 ](docs/java-web/Spring/Spring源码剖析：JDK和cglib动态代理原理详解.md)
* [Spring源码剖析：SpringAOP概述](docs/java-web/Spring/Spring源码剖析：SpringAOP概述.md)
* [Spring源码剖析：AOP实现原理详解 ](docs/java-web/Spring/Spring源码剖析：AOP实现原理详解.md)
* [Spring源码剖析：Spring事务概述](docs/java-web/Spring/Spring源码剖析：Spring事务概述.md)
* [Spring源码剖析：Spring事务源码剖析](docs/java-web/Spring/Spring源码剖析：Spring事务源码剖析.md)

### SpringMVC

* [SpringMVC源码分析：SpringMVC概述](docs/java-web/SpringMVC/SpringMVC源码分析：SpringMVC概述.md)
* [SpringMVC源码分析：SpringMVC设计理念与DispatcherServlet](docs/java-web/SpringMVC/SpringMVC源码分析：SpringMVC设计理念与DispatcherServlet.md)
* [SpringMVC源码分析：DispatcherServlet的初始化与请求转发 ](docs/java-web/SpringMVC/SpringMVC源码分析：DispatcherServlet的初始化与请求转发.md)
* [SpringMVC源码分析：DispatcherServlet如何找到正确的Controller ](docs/java-web/SpringMVC/SpringMVC源码分析：DispatcherServlet如何找到正确的Controller.md)
* [SpringMVC源码剖析：消息转换器HttpMessageConverter与@ResponseBody注解](docs/java-web/SpringMVC/SpringMVC源码剖析：消息转换器HttpMessageConverter与@ResponseBody注解.md)
* [SpringMVC源码分析：SpringMVC的视图解析原理 ](docs/java-web/SpringMVC/SpringMVC源码分析：SpringMVC的视图解析原理.md)

### SpringBoot

todo

### SpringCloud

todo

## Java进阶

### 并发

* [Java并发指南：并发基础与Java多线程](docs/java/concurrency/Java并发指南：并发基础与Java多线程.md)
* [Java并发指南：深入理解Java内存模型JMM](docs/java/concurrency/Java并发指南：深入理解Java内存模型JMM.md)
* [Java并发指南：并发三大问题与volatile关键字，CAS操作](docs/java/concurrency/Java并发指南：并发三大问题与volatile关键字，CAS操作.md)
* [Java并发指南：Java中的锁Lock和synchronized](docs/java/concurrency/Java并发指南：Java中的锁Lock和synchronized.md)
* [Java并发指南：JMM中的final关键字解析](docs/java/concurrency/Java并发指南：JMM中的final关键字解析.md)
* [Java并发指南：Java内存模型JMM总结](docs/java/concurrency/Java并发指南：Java内存模型JMM总结.md)
* [Java并发指南：JUC的核心类AQS详解](docs/java/concurrency/Java并发指南：JUC的核心类AQS详解.md)
* [Java并发指南：AQS中的公平锁与非公平锁，Condtion](docs/java/concurrency/Java并发指南：AQS中的公平锁与非公平锁，Condtion.md)
* [Java并发指南：AQS共享模式与并发工具类的实现](docs/java/concurrency/Java并发指南：AQS共享模式与并发工具类的实现.md)
* [Java并发指南：Java读写锁ReentrantReadWriteLock源码分析](docs/java/concurrency/Java并发指南：Java读写锁ReentrantReadWriteLock源码分析.md)
* [Java并发指南：解读Java阻塞队列BlockingQueue](docs/java/concurrency/Java并发指南：解读Java阻塞队列BlockingQueue.md)
* [Java并发指南：深度解读java线程池设计思想及源码实现](docs/java/concurrency/Java并发指南：深度解读Java线程池设计思想及源码实现.md)
* [Java并发指南：Java中的HashMap和ConcurrentHashMap全解析](docs/java/concurrency/Java并发指南：Java中的HashMap和ConcurrentHashMap全解析.md)
* [Java并发指南：JUC中常用的Unsafe和Locksupport](docs/java/concurrency/Java并发指南：JUC中常用的Unsafe和Locksupport.md)
* [Java并发指南：ForkJoin并发框架与工作窃取算法剖析](docs/java/concurrency/Java并发指南：ForkJoin并发框架与工作窃取算法剖析.md)
* [Java并发编程学习总结](docs/java/concurrency/Java并发编程学习总结.md)

### JVM

* [JVM总结](docs/java/jvm/JVM总结.md)
* [深入理解JVM虚拟机：JVM内存的结构与消失的永久代](docs/java/jvm/深入理解JVM虚拟机：JVM内存的结构与消失的永久代.md)
* [深入理解JVM虚拟机：JVM垃圾回收基本原理和算法](docs/java/jvm/深入理解JVM虚拟机：JVM垃圾回收基本原理和算法.md)
* [深入理解JVM虚拟机：垃圾回收器详解](docs/java/jvm/深入理解JVM虚拟机：垃圾回收器详解.md)
* [深入理解JVM虚拟机：Javaclass介绍与解析实践](docs/java/jvm/深入理解JVM虚拟机：Java字节码介绍与解析实践.md)
* [深入理解JVM虚拟机：虚拟机字节码执行引擎](docs/java/jvm/深入理解JVM虚拟机：虚拟机字节码执行引擎.md)
* [深入理解JVM虚拟机：深入理解JVM类加载机制](docs/java/jvm/深入理解JVM虚拟机：深入理解JVM类加载机制.md)
* [深入理解JVM虚拟机：JNDI，OSGI，Tomcat类加载器实现](docs/java/jvm/深入理解JVM虚拟机：JNDI，OSGI，Tomcat类加载器实现.md)
* [深入了解JVM虚拟机：Java的编译期优化与运行期优化](docs/java/jvm/深入理解JVM虚拟机：Java的编译期优化与运行期优化.md)
* [深入理解JVM虚拟机：JVM监控工具与诊断实践](docs/java/jvm/深入理解JVM虚拟机：JVM监控工具与诊断实践.md)
* [深入理解JVM虚拟机：JVM常用参数以及调优实践](docs/java/jvm/深入理解JVM虚拟机：JVM常用参数以及调优实践.md)
* [深入理解JVM虚拟机：Java内存异常原理与实践](docs/java/jvm/深入理解JVM虚拟机：Java内存异常原理与实践.md)
* [深入理解JVM虚拟机：JVM性能管理神器VisualVM介绍与实战](docs/java/jvm/深入理解JVM虚拟机：JVM性能管理神器VisualVM介绍与实战.md)
* [深入理解JVM虚拟机：再谈四种引用及GC实践](docs/java/jvm/深入理解JVM虚拟机：再谈四种引用及GC实践.md)
* [深入理解JVM虚拟机：GC调优思路与常用工具](docs/java/jvm/深入理解JVM虚拟机：GC调优思路与常用工具.md)

### Java网络编程

* [Java网络编程和NIO详解：JAVA 中原生的 socket 通信机制](docs/java/network-programming/Java网络编程与NIO详解：JAVA中原生的socket通信机制.md)
* [Java网络编程与NIO详解：JAVA NIO 一步步构建IO多路复用的请求模型](docs/java/network-programming/Java网络编程与NIO详解：JavaNIO一步步构建IO多路复用的请求模型.md) 
* [Java网络编程和NIO详解：IO模型与Java网络编程模型](docs/java/network-programming/Java网络编程与NIO详解：IO模型与Java网络编程模型.md) 
* [Java网络编程与NIO详解：浅析NIO包中的BufferChannel和Selector](docs/java/network-programming/Java网络编程与NIO详解：浅析NIO包中的BufferChannel和Selector.md) 
* [Java网络编程和NIO详解：Java非阻塞IO和异步IO](docs/java/network-programming/Java网络编程与NIO详解：Java非阻塞IO和异步IO.md)
* [Java网络编程与NIO详解：LinuxEpoll实现原理详解](docs/java/network-programming/Java网络编程与NIO详解：LinuxEpoll实现原理详解.md.md) 
* [Java网络编程与NIO详解：浅谈Linux中Selector的实现原理](docs/java/network-programming/Java网络编程与NIO详解：浅谈Linux中Selector的实现原理.md)
* [Java网络编程与NIO详解：浅析mmap和DirectBuffer](docs/java/network-programming/Java网络编程与NIO详解：浅析mmap和DirectBuffer.md)
* [Java网络编程与NIO详解：基于NIO的网络编程框架Netty](docs/java/network-programming/Java网络编程与NIO详解：基于NIO的网络编程框架Netty.md)
* [Java网络编程与NIO详解：Java网络编程与NIO详解](docs/java/network-programming/Java网络编程与NIO详解：深度解读Tomcat中的NIO模型.md)
* [Java网络编程与NIO详解：Tomcat中的Connector源码分析（NIO）](docs/java/network-programming/Java网络编程与NIO详解：Tomcat中的Connector源码分析（NIO）.md)

## 计算机基础

### 计算机网络
todo


### 操作系统
todo

#### Linux相关
todo


### 数据结构与算法
todo

#### 数据结构
todo

#### 算法
todo

## 数据库
todo

### MySQL
* [Mysql原理与实践总结](docs/database/Mysql原理与实践总结.md)
* [重新学习Mysql数据库：无废话MySQL入门](docs/database/重新学习MySQL数据库：无废话MySQL入门.md)
* [重新学习Mysql数据库：『浅入浅出』MySQL和InnoDB](docs/database/重新学习MySQL数据库：『浅入浅出』MySQL和InnoDB.md)
* [重新学习Mysql数据库：Mysql存储引擎与数据存储原理](docs/database/重新学习MySQL数据库：Mysql存储引擎与数据存储原理.md)
* [重新学习Mysql数据库：Mysql索引实现原理和相关数据结构算法](docs/database/重新学习MySQL数据库：Mysql索引实现原理和相关数据结构算法.md)
* [重新学习Mysql数据库：根据MySQL索引原理进行分析与优化](docs/database/重新学习MySQL数据库：根据MySQL索引原理进行分析与优化.md)
* [重新学习MySQL数据库：浅谈MySQL的中事务与锁](docs/database/重新学习MySQL数据库：浅谈MySQL的中事务与锁.md) 
* [重新学习Mysql数据库：详解MyIsam与InnoDB引擎的锁实现](docs/database/重新学习MySQL数据库：详解MyIsam与InnoDB引擎的锁实现.md) 
* [重新学习Mysql数据库：MySQL的事务隔离级别实战](docs/database/重新学习MySQL数据库：MySQL的事务隔离级别实战.md)
* [重新学习MySQL数据库：Innodb中的事务隔离级别和锁的关系](docs/database/重新学习MySQL数据库：Innodb中的事务隔离级别和锁的关系.md) 
* [重新学习MySQL数据库：MySQL里的那些日志们](docs/database/重新学习MySQL数据库：MySQL里的那些日志们.md) 
* [重新学习MySQL数据库：以Java的视角来聊聊SQL注入](docs/database/重新学习MySQL数据库：以Java的视角来聊聊SQL注入.md) 
* [重新学习MySQL数据库：从实践sql语句优化开始](docs/database/重新学习MySQL数据库：从实践sql语句优化开始.md) 
* [重新学习Mysql数据库：Mysql主从复制，读写分离，分表分库策略与实践](docs/database/重新学习MySQL数据库：Mysql主从复制，读写分离，分表分库策略与实践.md)


## 缓存

### Redis
* [Redis原理与实践总结](docs/cache/Redis原理与实践总结.md)
* [探索Redis设计与实现开篇：什么是Redis](docs/cache/探索Redis设计与实现开篇：什么是Redis.md)
* [探索Redis设计与实现：Redis的基础数据结构概览](docs/cache/探索Redis设计与实现：Redis的基础数据结构概览.md)
* [探索Redis设计与实现：Redis内部数据结构详解——dict](docs/cache/探索Redis设计与实现：Redis内部数据结构详解——dict.md)
* [探索Redis设计与实现：Redis内部数据结构详解——sds](docs/cache/探索Redis设计与实现：Redis内部数据结构详解——sds.md)
* [探索Redis设计与实现：Redis内部数据结构详解——ziplist](docs/cache/探索Redis设计与实现：Redis内部数据结构详解——ziplist.md)
* [探索Redis设计与实现：Redis内部数据结构详解——quicklist](docs/cache/探索Redis设计与实现：Redis内部数据结构详解——quicklist.md)
* [探索Redis设计与实现：Redis内部数据结构详解——skiplist](docs/cache/探索Redis设计与实现：Redis内部数据结构详解——skiplist.md)
* [探索Redis设计与实现：Redis内部数据结构详解——intset](docs/cache/探索Redis设计与实现：Redis内部数据结构详解——intset.md)
* [探索Redis设计与实现：连接底层与表面的数据结构robj](docs/cache/探索Redis设计与实现：连接底层与表面的数据结构robj.md)
* [探索Redis设计与实现：数据库redisDb与键过期删除策略](docs/cache/探索Redis设计与实现：数据库redisDb与键过期删除策略.md)
* [探索Redis设计与实现：Redis的事件驱动模型与命令执行过程](docs/cache/探索Redis设计与实现：Redis的事件驱动模型与命令执行过程.md)
* [探索Redis设计与实现：使用快照和AOF将Redis数据持久化到硬盘中](docs/cache/探索Redis设计与实现：使用快照和AOF将Redis数据持久化到硬盘中.md)
* [探索Redis设计与实现：浅析Redis主从复制](docs/cache/探索Redis设计与实现：浅析Redis主从复制.md)
* [探索Redis设计与实现：Redis集群机制及一个Redis架构演进实例](docs/cache/探索Redis设计与实现：Redis集群机制及一个Redis架构演进实例.md)
* [探索Redis设计与实现：Redis事务浅析与ACID特性介绍](docs/cache/探索Redis设计与实现：Redis事务浅析与ACID特性介绍.md)
* [探索Redis设计与实现：Redis分布式锁进化史 ](docs/cache/探索Redis设计与实现：Redis分布式锁进化史.md )

## 消息队列

### Kafka

## 大后端
* [后端技术杂谈开篇：云计算，大数据与AI的故事](docs/big-backEnd/后端技术杂谈开篇：云计算，大数据与AI的故事.md)
* [后端技术杂谈：搜索引擎基础倒排索引](docs/big-backEnd/后端技术杂谈：搜索引擎基础倒排索引.md)
* [后端技术杂谈：搜索引擎工作原理](docs/big-backEnd/后端技术杂谈：搜索引擎工作原理.md)
* [后端技术杂谈：Lucene基础原理与实践](docs/big-backEnd/后端技术杂谈：Lucene基础原理与实践.md)
* [后端技术杂谈：Elasticsearch与solr入门实践](docs/big-backEnd/后端技术杂谈：Elasticsearch与solr入门实践.md)
* [后端技术杂谈：云计算的前世今生](docs/big-backEnd/后端技术杂谈：云计算的前世今生.md)
* [后端技术杂谈：白话虚拟化技术](docs/big-backEnd/后端技术杂谈：白话虚拟化技术.md )
* [后端技术杂谈：OpenStack的基石KVM](docs/big-backEnd/后端技术杂谈：OpenStack的基石KVM.md)
* [后端技术杂谈：OpenStack架构设计](docs/big-backEnd/后端技术杂谈：OpenStack架构设计.md)
* [后端技术杂谈：先搞懂Docker核心概念吧](docs/big-backEnd/后端技术杂谈：先搞懂Docker核心概念吧.md)
* [后端技术杂谈：Docker 核心技术与实现原理](docs/big-backEnd/后端技术杂谈：Docker%核心技术与实现原理.md)
* [后端技术杂谈：十分钟理解Kubernetes核心概念](docs/big-backEnd/后端技术杂谈：十分钟理解Kubernetes核心概念.md)
* [后端技术杂谈：捋一捋大数据研发的基本概念](docs/big-backEnd/后端技术杂谈：捋一捋大数据研发的基本概念.md)

## 分布式
### 理论
* [分布式系统理论基础：一致性PC和PC ](docs/distributed/basic/分布式系统理论基础：一致性PC和PC.md)
* [分布式系统理论基础：CAP ](docs/distributed/basic/分布式系统理论基础：CAP.md)
* [分布式系统理论基础：时间时钟和事件顺序](docs/distributed/basic/分布式系统理论基础：时间时钟和事件顺序.md)
* [分布式系统理论基础：Paxos](docs/distributed/basic/分布式系统理论基础：Paxos.md)
* [分布式系统理论基础：选举多数派和租约](docs/distributed/basic/分布式系统理论基础：选举多数派和租约.md)
* [分布式系统理论基础：RaftZab ](docs/distributed/basic/分布式系统理论基础：RaftZab.md)
* [分布式系统理论进阶：Paxos变种和优化 ](docs/distributed/basic/分布式系统理论进阶：Paxos变种和优化.md)
* [分布式系统理论基础：zookeeper分布式协调服务 ](docs/distributed/basic/分布式系统理论基础：zookeeper分布式协调服务.md)

* [分布式技术实践总结](docs/distributed/分布式理论总结.md)

### 技术
* [搞懂分布式技术：分布式系统的一些基本概念](docs/distributed/practice/搞懂分布式技术：分布式系统的一些基本概念.md )
* [搞懂分布式技术：分布式一致性协议与Paxos，Raft算法](docs/distributed/practice/搞懂分布式技术：分布式一致性协议与Paxos，Raft算法.md)
* [搞懂分布式技术：初探分布式协调服务zookeeper](docs/distributed/practice/搞懂分布式技术：初探分布式协调服务zookeeper.md )
* [搞懂分布式技术：ZAB协议概述与选主流程详解](docs/distributed/practice/搞懂分布式技术：ZAB协议概述与选主流程详解.md )
* [搞懂分布式技术：Zookeeper的配置与集群管理实战](docs/distributed/practice/搞懂分布式技术：Zookeeper的配置与集群管理实战.md)
* [搞懂分布式技术：Zookeeper典型应用场景及实践](docs/distributed/practice/搞懂分布式技术：Zookeeper典型应用场景及实践.md )

[//]: # (* [搞懂分布式技术：负载均衡概念与主流方案]&#;docs/distributed/practice/搞懂分布式技术：负载均衡概念与主流方案.md&#;)

[//]: # (* [搞懂分布式技术：负载均衡原理剖析 ]&#;docs/distributed/practice/搞懂分布式技术：负载均衡原理剖析.md &#;)

[//]: # (* [搞懂分布式技术：Nginx负载均衡原理与实践 ]&#;docs/distributed/practice/搞懂分布式技术：Nginx负载均衡原理与实践.md&#;)
* [搞懂分布式技术：LVS实现负载均衡的原理与实践 ](docs/distributed/practice/搞懂分布式技术：LVS实现负载均衡的原理与实践.md )
* [搞懂分布式技术：分布式session解决方案与一致性hash](docs/distributed/practice/搞懂分布式技术：分布式session解决方案与一致性hash.md)
* [搞懂分布式技术：分布式ID生成方案 ](docs/distributed/practice/搞懂分布式技术：分布式ID生成方案.md )
* [搞懂分布式技术：缓存的那些事](docs/distributed/practice/搞懂分布式技术：缓存的那些事.md)
* [搞懂分布式技术：SpringBoot使用注解集成Redis缓存](docs/distributed/practice/搞懂分布式技术：SpringBoot使用注解集成Redis缓存.md)
* [搞懂分布式技术：缓存更新的套路 ](docs/distributed/practice/搞懂分布式技术：缓存更新的套路.md )
* [搞懂分布式技术：浅谈分布式锁的几种方案 ](docs/distributed/practice/搞懂分布式技术：浅谈分布式锁的几种方案.md )
* [搞懂分布式技术：浅析分布式事务](docs/distributed/practice/搞懂分布式技术：浅析分布式事务.md )
* [搞懂分布式技术：分布式事务常用解决方案 ](docs/distributed/practice/搞懂分布式技术：分布式事务常用解决方案.md )
* [搞懂分布式技术：使用RocketMQ事务消息解决分布式事务 ](docs/distributed/practice/搞懂分布式技术：使用RocketMQ事务消息解决分布式事务.md )
* [搞懂分布式技术：消息队列因何而生](docs/distributed/practice/搞懂分布式技术：消息队列因何而生.md)
* [搞懂分布式技术：浅谈分布式消息技术Kafka](docs/distributed/practice/搞懂分布式技术：浅谈分布式消息技术Kafka.md )

* [分布式理论总结](docs/distributed/分布式技术实践总结.md)
## 面试指南

todo
### 校招指南
todo

### 面经
todo

## 工具
todo

## 资料
todo

### 书单
todo

## 待办
springboot和springcloud

## 微信公众号

### Java技术江湖
如果大家想要实时关注我更新的文章以及分享的干货的话，可以关注我的公众号【Java技术江湖】
![](https://java-tutorial.oss-cn-shanghai.aliyuncs.com/Javatutorial.jpeg)
