# bestJavaer **Repository Path**: guinzoo/bestJavaer ## Basic Information - **Project Name**: bestJavaer - **Description**: 这是一个成为更好的Java程序员的系列教程 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-06-28 - **Last Updated**: 2021-06-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 成为一个更好的Java程序员 这是一个成为更好的 `Java 程序员`的系列教程 >声明:这是完全手写的仓库,不严谨的地方请告知作者。 > >此项目无法和 Dubbo 等开源框架相提并论,请读者不要盲目崇拜,此项目只是作者近来的读书、学习笔记总结。如果你 `star` 一下我会很高兴的。 > >**本仓库仅供学习使用,商业用途请联系作者 (微信: lx252279279 )** ![](https://img.shields.io/static/v1?label=bestjavaer&message=操作系统&color=blue)![](https://img.shields.io/static/v1?label=bestjavaer&message=计算机基础&color=)![](https://img.shields.io/static/v1?label=bestjavaer&message=计算机网络&color=yellowgreen) ![](https://img.shields.io/static/v1?label=bestjavaer&message=Java基础&color=orange)![](https://img.shields.io/static/v1?label=bestjavaer&message=设计模式&color=success)![](https://img.shields.io/static/v1?label=bestjavaer&message=JVM&color=important)![](https://img.shields.io/static/v1?label=bestjavaer&message=Java并发&color=9cf) ![](https://img.shields.io/static/v1?label=bestjavaer&message=Spring&color=blueviolet)![](https://img.shields.io/static/v1?label=bestjavaer&message=SpringBoot&color=informational)![](https://img.shields.io/static/v1?label=bestjavaer&message=Springcloud&color=ff69b4) ![](https://raw.githubusercontent.com/crisxuan/bestJavaer/master/mindmanage/bestjavaer.png) 这是一个成为更好的程序员的系列教程内容涵盖 * [Java基础面试题](https://github.com/crisxuan/bestJavaer/wiki/Java%E9%9D%A2%E8%AF%95%E9%A2%98) * [操作系统](https://github.com/crisxuan/bestJavaer#%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E7%B3%BB%E5%88%97) * [计算机基础知识](https://github.com/crisxuan/bestJavaer#%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%85%A5%E9%97%A8%E7%B3%BB%E5%88%97) * [深入理解计算机系统](https://github.com/crisxuan/bestJavaer#%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%B3%BB%E7%BB%9F) * [HTTP 系列](https://github.com/crisxuan/bestJavaer#http-%E7%B3%BB%E5%88%97) * [汇编语言](https://github.com/crisxuan/bestJavaer#%E6%B1%87%E7%BC%96%E8%AF%AD%E8%A8%80) * [C 语言](https://github.com/crisxuan/bestJavaer#c-%E8%AF%AD%E8%A8%80) * [计算机网络](https://github.com/crisxuan/bestJavaer#%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C%E7%B3%BB%E5%88%97) * [Java 基础教程](https://github.com/crisxuan/bestJavaer#java-%E5%9F%BA%E7%A1%80%E7%B3%BB%E5%88%97) * [设计模式](https://github.com/crisxuan/bestJavaer#%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E7%B3%BB%E5%88%97) * [JVM](https://github.com/crisxuan/bestJavaer#jvm-%E7%B3%BB%E5%88%97) * [并发](https://github.com/crisxuan/bestJavaer#%E5%B9%B6%E5%8F%91%E7%B3%BB%E5%88%97) * [Spring 框架系列](https://github.com/crisxuan/bestJavaer#spring-%E7%B3%BB%E5%88%97) * [Spring](https://github.com/crisxuan/bestJavaer#spring-%E7%B3%BB%E5%88%97) * SpringMVC * [SpringBoot](https://github.com/crisxuan/bestJavaer#springboot-%E7%B3%BB%E5%88%97) * SpringCloud * SpringCloud-Alibaba * 等 * [ORM 映射框架](https://github.com/crisxuan/bestJavaer#mybatis) * [MyBatis](https://github.com/crisxuan/bestJavaer#mybatis) * JPA * Hibernate * [ZooKeeper](https://github.com/crisxuan/bestJavaer#zookeeper-%E7%B3%BB%E5%88%97%E6%95%99%E7%A8%8B) * [Kafka](https://github.com/crisxuan/bestJavaer#kafka-%E7%B3%BB%E5%88%97%E6%95%99%E7%A8%8B) * [Redis](https://github.com/crisxuan/bestJavaer#redis-%E7%B3%BB%E5%88%97%E6%95%99%E7%A8%8B) * [数据库](https://github.com/crisxuan/bestJavaer#mysql) * [MySQL](https://github.com/crisxuan/bestJavaer#mysql) * Oracle * MogonDB * PostgreSQL * Memcached * RabbitMQ * Maven * Git * Nginx * ELK * Netty * [Linux](https://github.com/crisxuan/bestJavaer#linux-%E7%B3%BB%E5%88%97) * [算法](https://github.com/crisxuan/bestJavaer#%E7%AE%97%E6%B3%95) * [实战篇](https://github.com/crisxuan/bestJavaer#%E5%AE%9E%E6%88%98%E7%AF%87) * 程序员 * [思维导图](https://github.com/crisxuan/bestJavaer#%E6%80%9D%E7%BB%B4%E5%AF%BC%E5%9B%BE) * [关于认知](https://github.com/crisxuan/bestJavaer#%E5%85%B3%E4%BA%8E%E8%AE%A4%E7%9F%A5) * [电子书籍](https://github.com/crisxuan/bestJavaer#%E7%94%B5%E5%AD%90%E4%B9%A6%E7%B1%8D) * [我的PDF](https://github.com/crisxuan/bestJavaer#%E6%88%91%E7%9A%84-pdf) * [读者面试系列](https://github.com/crisxuan/bestJavaer#%E8%AF%BB%E8%80%85%E9%9D%A2%E8%AF%95%E7%B3%BB%E5%88%97) * [面试题系列](https://github.com/crisxuan/bestJavaer#%E9%9D%A2%E8%AF%95%E9%A2%98%E7%B3%BB%E5%88%97) * [优质 Github](https://github.com/crisxuan/bestJavaer#%E4%BC%98%E8%B4%A8-github-%E6%8E%A8%E8%8D%90) * [每日一题计划](https://github.com/crisxuan/bestJavaer#%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98%E8%AE%A1%E5%88%92) 也包括一些常见的面试题。 采用全面解析面试题的方式,让你去理解每个面试题的概念,而不只是单纯的背诵...... 不多说,搞起。 ## 操作系统系列 * [硬核操作系统入门](https://github.com/crisxuan/bestJavaer/blob/master/operating-system/os-overview.md) * [硬核操作系统之进程和线程](https://github.com/crisxuan/bestJavaer/blob/master/operating-system/os-processandthread.md) * [硬核操作系统之内存管理](https://github.com/crisxuan/bestJavaer/blob/master/operating-system/os-rammanage.md) * [硬核操作系统之文件系统](https://github.com/crisxuan/bestJavaer/blob/master/operating-system/os-filesystem.md) * [硬核操作系统之输入输出](https://github.com/crisxuan/bestJavaer/blob/master/operating-system/os-inputoutput.md) * [硬核操作系统之死锁](https://github.com/crisxuan/bestJavaer/blob/master/operating-system/os-deadlock.md) * [操作系统核心概念](https://github.com/crisxuan/bestJavaer/blob/master/operating-system/os-importantconcept.md) * [操作系统网站推荐](https://github.com/crisxuan/bestJavaer/blob/master/operating-system/os-recommand.md) * [操作系统硬核回答](https://github.com/crisxuan/bestJavaer/blob/master/operating-system/os-howtolearn.md) * [计算机基础常识](https://github.com/crisxuan/bestJavaer/blob/master/operating-system/computer-youshouldknow.md) * [操作系统超全面试题](https://github.com/crisxuan/bestJavaer/blob/master/operating-system/os-interview-second.md) ## 计算机入门系列 * [程序员需要了解的硬核知识之 CPU](https://github.com/crisxuan/bestJavaer/blob/master/computer-basic/computer-cpu.md) * [程序员需要了解的硬核知识之内存](https://github.com/crisxuan/bestJavaer/blob/master/computer-basic/computer-ram.md) * [程序员需要了解的硬核知识之二进制](https://github.com/crisxuan/bestJavaer/blob/master/computer-basic/computer-binary.md) * [程序员需要了解的硬核知识之磁盘](https://github.com/crisxuan/bestJavaer/blob/master/computer-basic/computer-disk.md) * [程序员需要了解的硬核知识之压缩算法](https://github.com/crisxuan/bestJavaer/blob/master/computer-basic/computer-compression.md) * [程序员需要了解的硬核知识之操作系统和应用](https://github.com/crisxuan/bestJavaer/blob/master/computer-basic/computer-osandapp.md) * [程序员需要了解的硬核知识之操作系统入门](https://github.com/crisxuan/bestJavaer/blob/master/computer-basic/computer-os.md) * [程序员需要了解的硬核知识之控制硬件](https://github.com/crisxuan/bestJavaer/blob/master/computer-basic/computer-disk.md) ## 深入理解计算机系统 * [计算机系统入门概述](https://github.com/crisxuan/bestJavaer/blob/master/computersystem/csapp-basic.md) ## HTTP 系列 * [全面了解 HTTP](https://github.com/crisxuan/bestJavaer/blob/master/http/http-basic.md) * [HTTP 黑科技](https://github.com/crisxuan/bestJavaer/blob/master/http/http-advanced.md) * [HTTP 核心概念](https://github.com/crisxuan/bestJavaer/blob/master/http/http-deepknow.md) * [全面了解 HTTPS](https://github.com/crisxuan/bestJavaer/blob/master/http/http-https.md) * [全面了解 Cookies、Session 和 Token](https://github.com/crisxuan/bestJavaer/blob/master/http/http-cookesessiontoken.md) ## Linux 系列 * [Linux 开篇!!!](https://github.com/crisxuan/bestJavaer/blob/master/linux/linux-first.md) * [Linux 进程和线程](https://github.com/crisxuan/bestJavaer/blob/master/linux/linux-processandthread.md) * [Linux 内存管理](https://github.com/crisxuan/bestJavaer/blob/master/linux/linux-memroy-management.md) * [Linux IO管理](https://github.com/crisxuan/bestJavaer/blob/master/linux/linux-io.md) * [Linux 文件系统](https://github.com/crisxuan/bestJavaer/blob/master/linux/linux-file-system.md) ## 计算机网络系列 * [计算机网络基础入门](https://github.com/crisxuan/bestJavaer/blob/master/network/network-basic.md) * [你不得不知的计算机网络](https://github.com/crisxuan/bestJavaer/blob/master/network/network-center.md) * [计算机网络应用层](https://github.com/crisxuan/bestJavaer/blob/master/network/network-appLevel.md) * [计算机网络基础知识](https://github.com/crisxuan/bestJavaer/blob/master/network/computer-network-basic.md) * [TCP/IP 基础知识](https://github.com/crisxuan/bestJavaer/blob/master/network/computer-network-tcpip.md) * [计算机网络应用层协议](https://github.com/crisxuan/bestJavaer/blob/master/network/computer-application.md) * [计算机网络传输层](https://github.com/crisxuan/bestJavaer/blob/master/network/computer-translayer.md) * [计算机网络网络层](https://github.com/crisxuan/bestJavaer/blob/master/network/computer-internet.md) * [一文了解 ARP 协议](https://github.com/crisxuan/bestJavaer/blob/master/network/network-arp.md) * [一文了解 DNS 协议](https://github.com/crisxuan/bestJavaer/blob/master/network/network-dns.md) * [一文了解 ICMP 协议](https://github.com/crisxuan/bestJavaer/blob/master/computer-network/network-icmp.md) * [一文了解 DHCP 协议](https://github.com/crisxuan/bestJavaer/blob/master/computer-network/network-dhcp.md) * [计算机网络数据链路层](https://github.com/crisxuan/bestJavaer/blob/master/computer-network/network-datalink.md) * [Web 页面的请求流程,超详细](https://github.com/crisxuan/bestJavaer/blob/master/computer-network/web-request.md) * [TCP 连接管理](https://github.com/crisxuan/bestJavaer/blob/master/computer-network/network-tcp-connect.md) ## Java 基础系列 * [Java 核心基础教程](https://github.com/crisxuan/bestJavaer/blob/master/java-basic/java-summary.md) * [Java 代理](https://github.com/crisxuan/bestJavaer/blob/master/java-basic/java-proxy.md) * [Java 反射](https://github.com/crisxuan/bestJavaer/blob/master/java-basic/java-reflect.md) * [Java 集合](https://github.com/crisxuan/bestJavaer/blob/master/java-basic/java-collections.md) * [String、StringBuffer 和 StringBuilder](https://github.com/crisxuan/bestJavaer/blob/master/java-basic/java-stringstringbufferstringbuilder.md) * [Java 中的语法糖](https://github.com/crisxuan/bestJavaer/blob/master/java-basic/java-suger.md) * [深入理解 static 关键字](https://github.com/crisxuan/bestJavaer/blob/master/java-basic/java-static.md) * [深入理解 Java 变量](https://github.com/crisxuan/bestJavaer/blob/master/java-basic/java-varaibles.md) * [深入理解 final、finally、finalize](https://github.com/crisxuan/bestJavaer/blob/master/java-basic/java-final.md) * [关于四种引用类型](https://github.com/crisxuan/bestJavaer/blob/master/java-basic/java-references.md) * [Exception 和 Error 的区别](https://github.com/crisxuan/bestJavaer/blob/master/java-basic/java-exceptionanderror.md) * [ArrayList 用法解析](https://github.com/crisxuan/bestJavaer/blob/master/java-basic/java-arraylist.md) * [LinkedList 用法解析](https://github.com/crisxuan/bestJavaer/blob/master/java-basic/java-linkedlist.md) * [for 、foreach 、iterator 三种遍历方式的比较](https://github.com/crisxuan/bestJavaer/blob/master/java-basic/java-forandforeach.md) * [理解静态绑定与动态绑定](https://github.com/crisxuan/bestJavaer/blob/master/java-basic/java-staticbinding.md) * [@SafeVarargs 使用说明](https://github.com/crisxuan/bestJavaer/blob/master/java-basic/javav-%40safavargs.md) * [@SuppressWarnings 用法](https://github.com/crisxuan/bestJavaer/blob/master/java-basic/java-%40suppresswarnings.md) * [Arrays.asList 解析](https://github.com/crisxuan/bestJavaer/blob/master/java-basic/java-arrays.asList.md) * [Enum to String 一般用法](https://github.com/crisxuan/bestJavaer/blob/master/java-basic/java-enumtostring.md) * [Comparable 和 Comparator的理解](https://github.com/crisxuan/bestJavaer/blob/master/java-basic/java-comparableandcomparator.md) * [Effective Java - 覆盖 equals 时总要覆盖 hashCode](https://github.com/crisxuan/bestJavaer/blob/master/java-basic/effectivejava-equalsandhashcode.md) * [Effective Java - 覆盖equals遵守的约定](https://github.com/crisxuan/bestJavaer/blob/master/java-basic/effectivejava-overrideequals.md) * [Effective Java - 构造器私有、枚举和单例](https://github.com/crisxuan/bestJavaer/blob/master/java-basic/effectivejava-privateconstructor.md) * [Effective Java - 静态方法与构造器](https://github.com/crisxuan/bestJavaer/blob/master/java-basic/effectivejava-staticandmethod.md) * [Effective Java - try-with-resources 优先于try-finally](https://github.com/crisxuan/bestJavaer/blob/master/java-basic/effectivejava-try-with-resources.md) * [学习 Java 网站推荐给你](https://github.com/crisxuan/bestJavaer/blob/master/java-basic/learn-java.md) ### Java 基础源码分析 [看完这篇 HashMap,和面试官扯皮就没问题了](https://github.com/crisxuan/bestJavaer/blob/master/java-basic/java-hashmap.md) ## 并发系列 * [简单认识并发](https://github.com/crisxuan/bestJavaer/blob/master/java-concurrent/java-concurrent-basic.md) * [看完你就明白的锁系列之锁的状态](https://github.com/crisxuan/bestJavaer/blob/master/java-concurrent/java-lock-status.md) * [看完你就明白的锁系列之乐观锁和悲观锁](https://github.com/crisxuan/bestJavaer/blob/master/java-concurrent/java-optimisticlock.md) * [看完你就明白的锁系列之自旋锁](https://github.com/crisxuan/bestJavaer/blob/master/java-concurrent/java-spinlock.md) * [锁系列汇总](https://github.com/crisxuan/bestJavaer/blob/master/java-concurrent/java-lock.md) * [并发编程超强入门汇总](https://github.com/crisxuan/bestJavaer/blob/master/java-concurrent/java-concurrent.md) ### 并发源码分析 * [ReentrantLock 源码分析](https://github.com/crisxuan/bestJavaer/blob/master/java-concurrent/java-reentrantlock.md) * [我花了 35 张图就为你让你了解 AQS](https://github.com/crisxuan/bestJavaer/blob/master/java-concurrent/java-aqs.md) * [AtomicInteger 的用法和实现原理](https://github.com/crisxuan/bestJavaer/blob/master/java-concurrent/java-atomicInteger.md) * [CountDownLatch 用法和源码解释](https://github.com/crisxuan/bestJavaer/blob/master/java-concurrent/java-countDownLatch.md) * [Atomic 基本数据类型的用法和实现原理](https://github.com/crisxuan/bestJavaer/blob/master/java-concurrent/java-atomicxxx.md) * [AtomicReference 的用法和源码解析](https://github.com/crisxuan/bestJavaer/blob/master/java-concurrent/java-atomicReference.md) * [线程池超用心源码分析](https://github.com/crisxuan/bestJavaer/blob/master/java-concurrent/java-threadpoolexecutor.md) * [深入理解 volatile 关键字](https://github.com/crisxuan/bestJavaer/blob/master/java-concurrent/java-volatile.md) * [Semaphore 用法和源码分析](https://github.com/crisxuan/bestJavaer/blob/master/java-concurrent/java-semaphore.md) ## 设计模式系列 * [设计模式基础入门](https://github.com/crisxuan/bestJavaer/blob/master/design-pattern/designpattern-basic.md) * [我向面试官讲解了单例模式,他对我竖起了大拇指](https://github.com/crisxuan/bestJavaer/blob/master/design-pattern/designpattern-singlaton.md) ## JVM 系列 TODO ## 汇编语言 * [从指令集的角度看汇编](https://github.com/crisxuan/bestJavaer/blob/master/assembly/assembly01.md) * [寄存器入门第一篇](https://github.com/crisxuan/bestJavaer/blob/master/assembly/assembly02.md) ## C 语言 * [C 语言基础入门](https://github.com/crisxuan/bestJavaer/blob/master/cprograming/c-basic.md) ## MyBatis * [MyBatis 基础搭建及架构概述](https://github.com/crisxuan/bestJavaer/blob/master/mybatis/mybatis-base.md) * [MyBatis Configuration](https://github.com/crisxuan/bestJavaer/blob/master/mybatis/mybatis-configuration.md) * [MyBatis 核心配置综述之Executor](https://github.com/crisxuan/bestJavaer/blob/master/mybatis/mybatis-executor.md) * [MyBatis 核心配置综述之 StatementHandler](https://github.com/crisxuan/bestJavaer/blob/master/mybatis/mybatis-statmenthandler.md) * [MyBatis 核心配置综述之 ParameterHandler](https://github.com/crisxuan/bestJavaer/blob/master/mybatis/mybatis-parameterhandler.md) * [MyBatis 核心配置综述之 ResultSetHandler](https://github.com/crisxuan/bestJavaer/blob/master/mybatis/mybatis-resultsethandler.md) * [MyBatis 一级缓存](https://github.com/crisxuan/bestJavaer/blob/master/mybatis/mybatis-firstcache.md) * [MyBatis 二级缓存全详解](https://github.com/crisxuan/bestJavaer/blob/master/mybatis/mybatis-secondcache.md) * [MyBatis 启动流程](https://github.com/crisxuan/bestJavaer/blob/master/mybatis/mybatis-howtostart.md) ## MySQL * [MySQL 基础入门大全](https://github.com/crisxuan/bestJavaer/blob/master/mysql/mysql-basicall.md) * [MySQL 开发](https://github.com/crisxuan/bestJavaer/blob/master/mysql/mysql-develop.md) * [MySQL 进阶技巧](https://github.com/crisxuan/bestJavaer/blob/master/mysql/mysql-improve.md) ## Spring 系列 * [Spring Bean 全解析](https://github.com/crisxuan/bestJavaer/blob/master/spring/spring-bean.md) * [Spring AOP 扫盲](https://github.com/crisxuan/bestJavaer/blob/master/spring/spring-aop.md) * [Spring 注解配置的基本要素](https://github.com/crisxuan/bestJavaer/blob/master/spring/spring-annotation.md) * [Spring 中的 Null-Safety](https://github.com/crisxuan/bestJavaer/blob/master/spring/spring-null-safety.md) * [Spring 中的验证、数据绑定和类型转换](https://github.com/crisxuan/bestJavaer/blob/master/spring/spring-databind.md) * [PropertyPlaceholderConfigurer 用法](https://github.com/crisxuan/bestJavaer/blob/master/spring/spring-propertyplaceholderconfig.md) * [BeanFactory 和 FactoryBean 的理解](https://github.com/crisxuan/bestJavaer/blob/master/spring/spring-beanfactoryandfactorybean.md) * [BeanFactory 和 ApplicationContext 的异同](https://github.com/crisxuan/bestJavaer/blob/master/spring/spring-beanandapplication.md) * [浅析PropertySource 基本使用](https://github.com/crisxuan/bestJavaer/blob/master/spring/spring-propertysource.md) * [一文了解ConfigurationConditon 接口](https://github.com/crisxuan/bestJavaer/blob/master/spring/spring-configurationcondition.md) * [@Configuration 全部用法](https://github.com/crisxuan/bestJavaer/blob/master/spring/spring-configuration.md) * [Spring Resource 体系介绍](https://github.com/crisxuan/bestJavaer/blob/master/spring/spring-resource.md) ### 源码分析 TODO ## SpringBoot 系列 TODO ## Kafka 系列教程 * [真的,Kafka 入门一篇就够了](https://github.com/crisxuan/bestJavaer/blob/master/kafka/kafka-basic.md) * [你能说出这些 Kafka 的原理吗](https://github.com/crisxuan/bestJavaer/blob/master/kafka/kafka-deep.md) ## Redis 系列教程 缓存贯穿、缓存失效、缓存雪崩都是什么 ## Nginx 系列教程 TODO ## ZooKeeper 系列教程 * [ZooKeeper 基础入门](https://github.com/crisxuan/bestJavaer/blob/master/zookeeper/zookeeper-basic.md) ## 读者面试系列 * [今年面试这么难,到底如何进入大厂?](https://github.com/crisxuan/bestJavaer/blob/master/interview/interview-jingdong.md) * [外包面试之旅](https://github.com/crisxuan/bestJavaer/blob/master/interview/interview-zhongruan.md) * [京东面试之旅](https://github.com/crisxuan/bestJavaer/blob/master/interview/interview-jingdong-social.md) * [百度面试之旅](https://github.com/crisxuan/bestJavaer/blob/master/interview/interview-baidu.md) * [读者考研之旅](https://github.com/crisxuan/bestJavaer/blob/master/interview/interview-kaoyan.md) ## 面试题系列 > 笔者非常痛恨网上那种什么面试题汇总等文章,无非就是各种百度拿了前几句滥竽充数一样,这种宣扬背诵的做法和高中老师教学生应付考试是一样的,侥幸心理、凡事图快的心理才助长了社会浮躁的风气。 > > 所以笔者励志把每道面试题从根源上助你理解 * [HTTP 高频面试题](https://github.com/crisxuan/bestJavaer/blob/master/interview-answer/http-interview.md) * [用心为你写了 9 道 MySQL 面试题](https://github.com/crisxuan/bestJavaer/blob/master/interview-answer/mysql-interview.md) * [Java 基础面试题汇总](https://github.com/crisxuan/bestJavaer/blob/master/interview-answer/java-basic-interview.md) * [操作系统面试题](https://github.com/crisxuan/bestJavaer/blob/master/operating-system/os-fiftyInterview.md) ## 算法 ## 实战篇 ## 思维导图 * [更好的Java程序员](https://raw.githubusercontent.com/crisxuan/bestJavaer/master/mindmanage/bestjavaer.png) * [设计模式](https://raw.githubusercontent.com/crisxuan/bestJavaer/master/mindmanage/design-pattern.png) * [Java并发](https://raw.githubusercontent.com/crisxuan/bestJavaer/master/mindmanage/java-concurrent.png) * [JVM](https://raw.githubusercontent.com/crisxuan/bestJavaer/master/mindmanage/jvm.png) * [Kafka体系](https://raw.githubusercontent.com/crisxuan/bestJavaer/master/mindmanage/kafka-system.png) * [MyBatis体系](https://raw.githubusercontent.com/crisxuan/bestJavaer/master/mindmanage/mybatis.png) * [MySQL](https://raw.githubusercontent.com/crisxuan/bestJavaer/master/mindmanage/mysql.png) * [Nginx](https://raw.githubusercontent.com/crisxuan/bestJavaer/master/mindmanage/nginx.png) * [Redis](https://raw.githubusercontent.com/crisxuan/bestJavaer/master/mindmanage/redis.png) * [Spring](https://raw.githubusercontent.com/crisxuan/bestJavaer/master/mindmanage/spring.png) * [ZooKeeper](https://raw.githubusercontent.com/crisxuan/bestJavaer/master/mindmanage/zookeeper.png) * [程序员必备硬核知识](https://github.com/crisxuan/bestJavaer/blob/master/mindmanage/computer-basic.png) * [现代操作系统](https://github.com/crisxuan/bestJavaer/blob/master/mindmanage/operating-system.png) * [Java 基础核心总结](https://github.com/crisxuan/bestJavaer/blob/master/mindmanage/java-basic.png) * [HTTP 核心总结](https://github.com/crisxuan/bestJavaer/blob/master/mindmanage/http.png) * [Java.lang 包](https://github.com/crisxuan/bestJavaer/blob/master/mindmanage/java-lang.png) * [I/O 流](https://github.com/crisxuan/bestJavaer/blob/master/mindmanage/java-io.png) * [Session、Cookie 和 Token](https://github.com/crisxuan/bestJavaer/blob/master/mindmanage/sessioncookieandtoken.png) * [锁的分类](https://github.com/crisxuan/bestJavaer/blob/master/mindmanage/java-lock.png) * [AQS 框架](https://github.com/crisxuan/bestJavaer/blob/master/mindmanage/java-aqs.png) * [Java.net 包](https://github.com/crisxuan/bestJavaer/blob/master/mindmanage/java-net.png) ## 关于认知 * [2019 我是怎样熬过来的](https://github.com/crisxuan/bestJavaer/blob/master/aboutlife/cxuan-2019.md) * [这是对我最大的认可和鼓励](https://github.com/crisxuan/bestJavaer/blob/master/aboutlife/cxuan-confidence.md) * [1w+ 的心路历程](https://github.com/crisxuan/bestJavaer/blob/master/aboutlife/cxuan-1w%2B.md) * [美国留学生关于教育、制度和考试的看法](https://github.com/crisxuan/bestJavaer/blob/master/aboutlife/american-life.md) * [内心独白|给粉蜜的一封信](https://github.com/crisxuan/bestJavaer/blob/master/aboutlife/cxuan-say.md) * [给朋友们一些自信|写于2019年4月](https://github.com/crisxuan/bestJavaer/blob/master/aboutlife/cxuan-bibi.md) * [作者的一周](https://github.com/crisxuan/bestJavaer/blob/master/aboutlife/cxuan-oneweek.md) * [bilibili 关于后浪有感](https://github.com/crisxuan/bestJavaer/blob/master/aboutlife/aboutbilibili.md) * [电信诈骗](https://github.com/crisxuan/bestJavaer/blob/master/aboutlife/cxuan-deceive.md) * [如何成为务实的程序员](https://github.com/crisxuan/bestJavaer/blob/master/aboutlife/good-programmer.md) * [写给 25 岁的自己](https://github.com/crisxuan/bestJavaer/blob/master/aboutlife/cxuan-25yearsold.md) * [面试官和面试者在同一个群里是怎样的体验](https://github.com/crisxuan/bestJavaer/blob/master/aboutlife/interviewer-story.md) * 如何高效的学习技术? ## 程序员 [程序员都必知的一些网站](https://github.com/crisxuan/bestJavaer/blob/master/programmer/website-recommand.md) ## 优质 Github 推荐 * [计算机自学 Github](https://github.com/keithnull/TeachYourselfCS-CN/blob/master/TeachYourselfCS-CN.md) * [Crash Course 的 Github](https://github.com/1c7/Crash-Course-Computer-Science-Chinese) * [JavaGuide 的 Github](https://github.com/Snailclimb/JavaGuide) ## 每日一题计划 * 2020/06/02 [byte的取值范围是多少,怎么计算出来的](https://github.com/crisxuan/bestJavaer/wiki/byte%E7%9A%84%E5%8F%96%E5%80%BC%E8%8C%83%E5%9B%B4%E6%98%AF%E5%A4%9A%E5%B0%91%EF%BC%8C%E6%80%8E%E4%B9%88%E8%AE%A1%E7%AE%97%E5%87%BA%E6%9D%A5%E7%9A%84) * 2020/06/03 [HashMap 多线程操作导致死循环问题](https://github.com/crisxuan/bestJavaer/wiki/HashMap-%E5%A4%9A%E7%BA%BF%E7%A8%8B%E6%93%8D%E4%BD%9C%E5%AF%BC%E8%87%B4%E6%AD%BB%E5%BE%AA%E7%8E%AF%E9%97%AE%E9%A2%98) * 2020/06/04 [Integer 缓存池](https://github.com/crisxuan/bestJavaer/wiki/Integer-%E7%BC%93%E5%AD%98%E6%B1%A0) * 2020/06/05 [你知道 fail-fast 和 fail-safe 吗](https://github.com/crisxuan/bestJavaer/wiki/%E4%BD%A0%E7%9F%A5%E9%81%93-fail-fast-%E5%92%8C-fail-safe-%E5%90%97) * 2020/06/06 [Arrays.asList 获得的 List 应该注意什么](https://github.com/crisxuan/bestJavaer/wiki/Arrays.asList-%E8%8E%B7%E5%BE%97%E7%9A%84-List-%E5%BA%94%E8%AF%A5%E6%B3%A8%E6%84%8F%E4%BB%80%E4%B9%88) * 2020/06/07 [动态代理是基于什么原理](https://github.com/crisxuan/bestJavaer/wiki/%E5%8A%A8%E6%80%81%E4%BB%A3%E7%90%86%E6%98%AF%E5%9F%BA%E4%BA%8E%E4%BB%80%E4%B9%88%E5%8E%9F%E7%90%86) * 2020/06/08 [谈谈你用到的设计模式以及应用场景](https://github.com/crisxuan/bestJavaer/wiki/%E8%B0%88%E8%B0%88%E4%BD%A0%E7%9F%A5%E9%81%93%E7%9A%84%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F) * 2020/06/09 [谈一谈动态绑定和静态绑定](https://github.com/crisxuan/bestJavaer/wiki/%E9%9D%99%E6%80%81%E7%BB%91%E5%AE%9A%E5%92%8C%E5%8A%A8%E6%80%81%E7%BB%91%E5%AE%9A%E7%9A%84%E5%8C%BA%E5%88%AB) * 2020/06/10 [讲一讲 HashMap 中 put 的全过程](https://github.com/crisxuan/bestJavaer/wiki/%E8%AE%B2%E4%B8%80%E4%B8%8B-HashMap-put-%E7%9A%84%E8%BF%87%E7%A8%8B) * 2020/06/11 [谈一谈 Java 泛型和类型擦除](https://github.com/crisxuan/bestJavaer/wiki/Java-%E6%B3%9B%E5%9E%8B%E5%92%8C%E7%B1%BB%E5%9E%8B%E6%93%A6%E9%99%A4) * 2020/06/12 [聊一聊 MySQL 中的事务](https://github.com/crisxuan/bestJavaer/wiki/MySQL-%E4%BA%8B%E5%8A%A1%E5%9B%9B%E5%A4%A7%E7%89%B9%E6%80%A7) * 2020/06/13 请说出你知道的索引失效的几种情况 * 2020/06/15 聊一聊 Spring bean 的生命周期 * 2020/06/16 讲一讲你所知道的垃圾收集器以及实现原理 * 2020/06/17 谈一谈你所知道的 ThreadLocal * 2020/06/18 [聊一聊 InnoDB 与 MyISAM 的区别](https://github.com/crisxuan/bestJavaer/wiki/MySQL-%E5%B8%B8%E8%A7%81%E5%AD%98%E5%82%A8%E5%BC%95%E6%93%8E%E7%9A%84%E5%8C%BA%E5%88%AB) * 2020/06/19 Redis 缓存穿透、缓存雪崩和缓存击穿原因,以及解决方案 * 2020/06/20 [说一说进程通信有几种方式](https://github.com/crisxuan/bestJavaer/wiki/%E8%BF%9B%E7%A8%8B%E9%97%B4%E7%9A%84%E9%80%9A%E4%BF%A1%E6%96%B9%E5%BC%8F) * 2020/06/23 聊一聊你知道的 AQS * 2020/06/24 聊一聊两阶段加锁、死锁、活锁、通信间死锁、饥饿的概念 * 2020/06/29 地址栏输入 URL 发生了什么? * 2020/07/01 [说一说 Java 中的几种引用类型,并分别详述各引用类型的特征](https://github.com/crisxuan/bestJavaer/wiki/%E5%BC%BA%E5%BC%95%E7%94%A8%E3%80%81%E8%8B%A5%E5%BC%95%E7%94%A8%E3%80%81%E8%99%9A%E5%BC%95%E7%94%A8%E5%92%8C%E5%B9%BB%E8%B1%A1%E5%BC%95%E7%94%A8%E7%9A%84%E5%8C%BA%E5%88%AB) * 2020/07/03 什么是 TIME-WAIT、为什么可以是三次挥手、为什么不能是两次握手、流量控制、滑动窗口、Nagle 算法、糊涂窗口综合症、拥塞控制、慢启动、拥塞避免、快重传、快恢复、长连接 VS 短连接 * 2020/07/04 说一说 你对 happen-before 规则的理解 * 2020/07/05 Object object = new Object() 谈谈你对这句话的理解? * 2020/07/06 说一说 DNS 的解析过程 * 2020/07/07 [什么是 DMA](https://github.com/crisxuan/bestJavaer/wiki/%E4%BB%80%E4%B9%88%E6%98%AF-DMA) * 2020/07/08 谈谈你对最左前缀原则的理解 * 2020/07/09 说一说你理解的计算机启动过程 * 2020/07/10 你们有什么意见可以给 cxuan 提出来,可以尽管提,可以私信可以群发 * 2020/07/13 你如何设置你的线程池参数 * 2020/08/19 聊一聊你知道的 final、finally 和 finalize。 * 2020/08/21 请详述一下 HTTP 中 Get/Post 区别 * 2020/08/24 [ThreadPoolExecutor 的构造方法都有哪些参数,分别代表什么意思?](https://github.com/crisxuan/bestJavaer/wiki/ThreadPoolExecutor-%E7%9A%84%E6%9E%84%E9%80%A0%E6%96%B9%E6%B3%95%E9%83%BD%E6%9C%89%E5%93%AA%E4%BA%9B%E5%8F%82%E6%95%B0%EF%BC%8C%E5%88%86%E5%88%AB%E4%BB%A3%E8%A1%A8%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D%EF%BC%9F) * 2020/08/25 [synchronized 锁升级流程?](https://github.com/crisxuan/bestJavaer/wiki/synchronized-%E9%94%81%E5%8D%87%E7%BA%A7%E6%B5%81%E7%A8%8B) * 2020/08/26 [你项目中使用优雅的判空方式](https://github.com/crisxuan/bestJavaer/wiki/%E4%BD%A0%E9%A1%B9%E7%9B%AE%E4%B8%AD%E4%BD%BF%E7%94%A8%E4%BC%98%E9%9B%85%E7%9A%84%E5%88%A4%E7%A9%BA%E6%96%B9%E5%BC%8F) * 2020/08/27 [synchronized 和 ReentrantLock的区别?](https://github.com/crisxuan/bestJavaer/wiki/synchronized-%E5%92%8C-ReentrantLock%E7%9A%84%E5%8C%BA%E5%88%AB) * 2020/08/28 [CountDownLatch 和 CyclicBarrier 的区别](https://github.com/crisxuan/bestJavaer/wiki/CountDownLatch-%E5%92%8C-CyclicBarrier-%E7%9A%84%E5%8C%BA%E5%88%AB) * 2020/08/31 [索引的本质是什么?](https://github.com/crisxuan/bestJavaer/wiki/%E7%B4%A2%E5%BC%95%E7%9A%84%E6%9C%AC%E8%B4%A8%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F) * 2020/09/01 [解释下 Serialization 和 Deserialization](https://github.com/crisxuan/bestJavaer/wiki/%E8%A7%A3%E9%87%8A%E4%B8%8B-Serialization-%E5%92%8C-Deserialization) * 2020/09/02 MySQL 索引主要使用的数据结构有哪些。 * 2020/09/03 [描述一下 Java 动态代理的运行原理](https://github.com/crisxuan/bestJavaer/wiki/%E6%8F%8F%E8%BF%B0%E4%B8%80%E4%B8%8B-Java-%E5%8A%A8%E6%80%81%E4%BB%A3%E7%90%86%E7%9A%84%E8%BF%90%E8%A1%8C%E5%8E%9F%E7%90%86) * 2020/09/04 [为什么 Java 中只有值传递?为什么?](https://github.com/crisxuan/bestJavaer/wiki/%E6%8F%8F%E8%BF%B0%E4%B8%80%E4%B8%8B%E5%80%BC%E4%BC%A0%E9%80%92%E5%92%8C%E5%BC%95%E7%94%A8%E4%BC%A0%E9%80%92%E7%9A%84%E5%8C%BA%E5%88%AB) * 2020/09/07 [如果 redis 突然挂了 势必会同时对 mysql 造成很大压力,那么怎么避免呢](https://github.com/crisxuan/bestJavaer/wiki/%E5%A6%82%E6%9E%9C-redis-%E7%AA%81%E7%84%B6%E6%8C%82%E4%BA%86-%E5%8A%BF%E5%BF%85%E4%BC%9A%E5%90%8C%E6%97%B6%E5%AF%B9-mysql-%E9%80%A0%E6%88%90%E5%BE%88%E5%A4%A7%E5%8E%8B%E5%8A%9B%EF%BC%8C%E9%82%A3%E4%B9%88%E6%80%8E%E4%B9%88%E9%81%BF%E5%85%8D%E5%91%A2) * 2020/09/08 [在 Java 多线程中,notify 和 notifyall 的区别是?](https://github.com/crisxuan/bestJavaer/wiki/%E5%9C%A8-Java-%E5%A4%9A%E7%BA%BF%E7%A8%8B%E4%B8%AD%EF%BC%8Cnotify-%E5%92%8C-notifyall-%E7%9A%84%E5%8C%BA%E5%88%AB%E6%98%AF-%3F) * 2020/09/09 Java 线程共有几种状态,分别是如何转换的? * 2020/09/10 [你知道 ARP 么,聊一聊 ARP 协议原理?](https://github.com/crisxuan/bestJavaer/wiki/%E4%BD%A0%E7%9F%A5%E9%81%93-ARP-%E4%B9%88%EF%BC%8C%E8%81%8A%E4%B8%80%E8%81%8A-ARP-%E5%8D%8F%E8%AE%AE%E5%8E%9F%E7%90%86%EF%BC%9F) * 2020/09/11 [MySQL 解释下 explain 显示的每个字断。](https://github.com/crisxuan/bestJavaer/wiki/MySQL-%E8%A7%A3%E9%87%8A%E4%B8%8B-explain-%E6%98%BE%E7%A4%BA%E7%9A%84%E6%AF%8F%E4%B8%AA%E5%AD%97%E6%96%AD) * 2020/09/14 [聊一聊 Liunx下的 I/O 模型](https://github.com/crisxuan/bestJavaer/wiki/%E8%81%8A%E4%B8%80%E8%81%8A-Liunx%E4%B8%8B%E7%9A%84-I-O-%E6%A8%A1%E5%9E%8B) * 2020/09/15 [说一说 Spring 事务的传播特性](https://github.com/crisxuan/bestJavaer/wiki/%E8%AF%B4%E4%B8%80%E8%AF%B4-Spring-%E4%BA%8B%E5%8A%A1%E7%9A%84%E4%BC%A0%E6%92%AD%E7%89%B9%E6%80%A7) * 2020/09/16 [TCP 协议如何来保证传输的可靠性?](https://github.com/crisxuan/bestJavaer/wiki/TCP-%E5%8D%8F%E8%AE%AE%E5%A6%82%E4%BD%95%E6%9D%A5%E4%BF%9D%E8%AF%81%E4%BC%A0%E8%BE%93%E7%9A%84%E5%8F%AF%E9%9D%A0%E6%80%A7%EF%BC%9F) * 2020/09/17 现有 25 匹马,5 个赛道,不用计时器,取前三名和前五名最少比赛次数是多少 * 2020/09/18 [说一说如何解决 ABA 问题?为什么能解决?解决思路是什么?](https://github.com/crisxuan/bestJavaer/wiki/%E8%AF%B4%E4%B8%80%E8%AF%B4%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3-ABA-%E9%97%AE%E9%A2%98%EF%BC%9F%E4%B8%BA%E4%BB%80%E4%B9%88%E8%83%BD%E8%A7%A3%E5%86%B3%EF%BC%9F%E8%A7%A3%E5%86%B3%E6%80%9D%E8%B7%AF%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F) * 2020/09/21 [为什么 TCP 建立连接需要三次握手,两次不行吗?(快手真题)](https://github.com/crisxuan/bestJavaer/wiki/%E4%B8%BA%E4%BB%80%E4%B9%88-TCP-%E5%BB%BA%E7%AB%8B%E8%BF%9E%E6%8E%A5%E9%9C%80%E8%A6%81%E4%B8%89%E6%AC%A1%E6%8F%A1%E6%89%8B%EF%BC%8C%E4%B8%A4%E6%AC%A1%E4%B8%8D%E8%A1%8C%E5%90%97%EF%BC%9F) * 2020/09/22 [Threadlocal 是否存在内存泄漏问题?](https://github.com/crisxuan/bestJavaer/wiki/Threadlocal-%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F%E9%97%AE%E9%A2%98%EF%BC%9F) * 2020/09/23 [聊一聊 线上 oom 的排查方案?](https://github.com/crisxuan/bestJavaer/wiki/%E8%81%8A%E4%B8%80%E8%81%8A-%E7%BA%BF%E4%B8%8A-oom-%E7%9A%84%E6%8E%92%E6%9F%A5%E6%96%B9%E6%A1%88%EF%BC%9F) * 2020/09/24 [请举出可能形成数据库死锁的原因、如何能避免死锁。](https://github.com/crisxuan/bestJavaer/wiki/%E8%AF%B7%E4%B8%BE%E5%87%BA%E5%8F%AF%E8%83%BD%E5%BD%A2%E6%88%90%E6%95%B0%E6%8D%AE%E5%BA%93%E6%AD%BB%E9%94%81%E7%9A%84%E5%8E%9F%E5%9B%A0%E3%80%81%E5%A6%82%E4%BD%95%E8%83%BD%E9%81%BF%E5%85%8D%E6%AD%BB%E9%94%81%E3%80%82) * 2020/09/27 [聊一聊 HTTPS 的工作流程。](https://github.com/crisxuan/bestJavaer/wiki/HTTPS-%E7%9A%84%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86) * 2020/10/12 [简单说说你了解的类加载器,可以打破双亲委派么,怎么打破?](https://github.com/crisxuan/bestJavaer/wiki/%E7%AE%80%E5%8D%95%E8%AF%B4%E8%AF%B4%E4%BD%A0%E4%BA%86%E8%A7%A3%E7%9A%84%E7%B1%BB%E5%8A%A0%E8%BD%BD%E5%99%A8%EF%BC%8C%E5%8F%AF%E4%BB%A5%E6%89%93%E7%A0%B4%E5%8F%8C%E4%BA%B2%E5%A7%94%E6%B4%BE%E4%B9%88%EF%BC%8C%E6%80%8E%E4%B9%88%E6%89%93%E7%A0%B4%EF%BC%9F) * 2020/10/13 [聊一聊 SpringBoot 自动注入原理](https://github.com/crisxuan/bestJavaer/wiki/SpringBoot-%E8%87%AA%E5%8A%A8%E6%B3%A8%E5%85%A5%E5%8E%9F%E7%90%86) * 2020/10/14 [MySQL 的自增 ID 用完了怎么办?](https://github.com/crisxuan/bestJavaer/wiki/MySQL-%E7%9A%84%E8%87%AA%E5%A2%9E-ID-%E7%94%A8%E5%AE%8C%E4%BA%86%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F) * 2020/10/15 聊一聊你所知道的垃圾收集器及其算法? * 2020/10/16 什么是阻塞队列?阻塞队列的实现原理是什么? * 2020/10/17 [count(1) 和 count(*) 的区别是怎样的?](https://github.com/crisxuan/bestJavaer/wiki/count(1)-%E5%92%8C-count(*)-%E7%9A%84%E5%8C%BA%E5%88%AB%E6%98%AF%E6%80%8E%E6%A0%B7%E7%9A%84%EF%BC%9F) * 2020/10/21 JVM GC 响应优先与吞吐优先的区别是什么? * 2020/10/22 [什么是一致性哈希?](https://github.com/crisxuan/bestJavaer/wiki/%E4%BB%80%E4%B9%88%E6%98%AF%E4%B8%80%E8%87%B4%E6%80%A7%E5%93%88%E5%B8%8C%EF%BC%9F) * 2020/10/26 [聊一聊 Redis 的几种删除策略。](https://github.com/crisxuan/bestJavaer/wiki/%E8%81%8A%E4%B8%80%E8%81%8A-Redis-%E7%9A%84%E5%87%A0%E7%A7%8D%E5%88%A0%E9%99%A4%E7%AD%96%E7%95%A5%E3%80%82) * 2020/10/27 [什么是数据库范式?聊一聊数据库都有哪些范式?](https://github.com/crisxuan/bestJavaer/wiki/%E4%BB%80%E4%B9%88%E6%98%AF%E6%95%B0%E6%8D%AE%E5%BA%93%E8%8C%83%E5%BC%8F%EF%BC%9F%E8%81%8A%E4%B8%80%E8%81%8A%E6%95%B0%E6%8D%AE%E5%BA%93%E9%83%BD%E6%9C%89%E5%93%AA%E4%BA%9B%E8%8C%83%E5%BC%8F%EF%BC%9F) * 2020/10/28 为什么 finally 一定会执行? * 2020/11/02 线程池五种状态分别是什么? * 2020/11/03 nginx 可以用来做什么? * 2020/11/04 为什么多线程场景下建议用 while 而不是 if ? * 2020/11/05 分布式事务了解吗?如何实现,各自优缺点 ? * 2020/11/11 聊一聊深拷贝和浅拷贝的区别 * 2020/11/12 负载均衡的策略有哪些 ? * 2020/11/16 你能简单说说 SpringMVC 的执行原理吗? * 2020/11/17 RabbitMQ 的工作模式有哪几种? * 2020/11/18 聊一聊 as-if-serial 规则和 happens-before 规则的区别 * 2020/12/07 什么是聚簇索引?何时使用聚簇索引与非聚簇索引? * 2020/12/08 为什么新生代存在两个 survivor 区 ? * 2020/12/09 Dubbo 的核心组件有哪些? * 2020/12/10 Spring如何解决 bean 的循环依赖 ? * 2020/12/14 线程安全的集合类有哪些?分别是基于什么数据结构的? * 2020/12//15 java 自带的 jvm 监控工具使用过吗?可以说一下具体使用案例吗? * 2020/12/16 Spring IOC 和 AOP 中都用到了哪些设计模式? ## 欢迎关注 欢迎关注作者的微信公众号 **程序员cxuan**,关注公众号回复 `cxuan` 给你分享作者硬肝的六本 PDF。 ![](https://z3.ax1x.com/2020/12/11/rkf8A0.jpg)