一. Spring、Spring Boot
- Spring AOP 动态代理 CGLIB、JDK 的基本原理
- Spring 注解@Async 和@Transactional 失效问题究竟是什么原因,强势解释一波
- Spring 中 Lazy、Scope 注解对 IOC 容器 Bean 初始化的影响分析
- Spring IOC 初始化 bean 对象创建的 N 种实现方式理解
- Spring IOC 容器初始化基础过程源码了解
- Spring AOP 之 aspectj 切面增强过程理解
- 从源码的角度分析@Lazy 和@Scope 对 IOC 容器初始化影响以及 IOC 的总结
- Spring 注解式注入依赖 bean 优先级
- SpringBoot 统一异常处理之 404、500 系统异常处理
- SpringBoot 项目本地调试代码热部署
- Spring 事务失效的这 10 种坑,看看你踩中没!!!
- 面向切面思想实现项目全局异常处理(简单切面+Spring 提供的封装)
- Spring AOP+反射实现自定义动态配置校验规则,让校验规则飞起来
- 项目发布成功、失败,Java 项目来实现邮件通知相关人员,实时反馈提醒信息
- RestFul 风格的 GET、POST 请求到底应该如何接收日期类型
- swagger2 和 spring boot 整合构建 RESTful API 文档
- springboot+spring+mybatis 项目构建模板介绍和分享
二. 并发编程
- 原子操作 CAS 和相关原子操作类的实现原理
- AQS 实现方式和独占锁、共享锁的原理分析
- 死磕 Java 并发:J.U.C 之重入锁 ReentrantLock
- 死磕 Java 并发:深入分析 ThreadLocal 原理
- JDK7、8 对 ConcurrentHashMap 的实现和总结
- Fork-Join 内部实现原理分析
- 死锁的两种体现形式分析和解决方案
- 线程池 ThreadPool 浅层面原理分析
- 死磕 Java 并发:深入分析 synchronized 的实现原理
- ConcurrentHashMap 简单的实现思想理解
- Java 并发编程:如何实现线程间通信的 N 种场景和对应的实现方式
- ThreadLocal 遇到线程池出现数据问题和解决方案
- BIO、NIO、AIO 的区别分析
三. Java 虚拟机
- Java 虚拟机那些事儿(一):浅析 JVM 与 JMM 模型结构与关系
- Java 虚拟机那些事儿(二):JVM 内存结构
- Java 虚拟机那些事儿(三):HotSpot 虚拟机对象探秘
- Java 虚拟机那些事儿(四):垃圾收集策略与算法
- Java 虚拟机那些事儿(五):HotSpot 垃圾收集器
- Java 虚拟机那些事儿(六):HotSpot 垃圾收集器参数和组合方式
- Java 虚拟机那些事儿(七):内存分配与回收策略
- Java 虚拟机那些事儿(八):JVM 性能调优
- Java 虚拟机那些事儿(九):类文件结构
- Java 虚拟机那些事儿(十):类加载的时机
- Java 虚拟机那些事儿(十一):类加载的过程
- Java 虚拟机那些事儿(十二):类加载器
- Java 虚拟机那些事儿(十三):Java 基本命令 jps、jinfo、jstat
- Java 中 JIT 优化中最重要的逃逸分析
- Java 的即时编译(Just In Time, JIT)及其优化
四. Mybatis
- ORM 框架之 Mybatis(一):基础配置
- ORM 框架之 Mybatis(二):映射文件
- ORM 框架之 Mybatis(三):动态 SQL 和批处理
- ORM 框架之 Mybatis(四):映射文件 resultMap 标签详解
- ORM 框架之 Mybatis(五):一级缓存和二级缓存初步认识
- ORM 框架之 Mybatis(六):logging 源码实现分析
- ORM 框架之 Mybatis(七):configuration 配置源码初探
- ORM 框架之 Mybatis(八):mybatis 基础代码的了解和源码跟踪
- ORM 框架之 Mybatis(九):二级缓存源码的装饰器模式应用
- Mybatis 中 mapper 别名问题和 maven 依赖问题
五. Spring Data JPA
- Spring Data JPA 使用必备(一):Spring Data JPA 整合 Spring 以及简单的使用
- Spring Data JPA 使用必备(二):Spring Data JPA 方法命名规则实现 SQL 自动生成
- Spring Data JPA 使用必备(三):Spring Data JPA 自定义 SQL 写法
六. 设计模式
七. MySQL
- MySQL 数据库系列(一):MySQL 数据库中锁
- MySQL 数据库系列(二):MySQL 数据库的存储引擎
- MySQL 数据库系列(三):MySQL 数据库的 ACID 事务特性和隔离性级别
- MySQL 数据库系列(四):MySQL 数据库的执行计划怎么看
- MySQL 数据库系列(五):MySQL 之 SQL 优化十大口诀了解一下
- MySQL 数据库系列(六):MySQL 之索引数据结构分析
- MySQL 数据库系列(七):CentOS7 环境下离线安装 MySQL5.7 数据库
- MySQL 数据库系列(八):CentOS7 环境下离线安装 MySQL8.0.28 数据库
- MySQL 数据库系列(九):MySQL 之 binlog 数据恢复和回滚
- MySQL 数据库系列(十):MySQL 之分库分表
八. Nginx
- nginx 基础学习(一):linux 环境下 nginx 的安装和配置文件的初步认识
- nginx 基础学习(二):nginx 的 location 内部属性的详细说明和介绍
- nginx 基础学习(三):nginx 的 rewrite 重定向和 if 判断使用
- nginx 基础学习(四):nginx 的 upstream 实现负载均衡
- nginx 基础学习(五):nginx 实现防盗链、跨域、缓存、压缩功能介绍
- nginx 基础学习(六):nginx 之 https 的配置
- nginx 基础学习(七):nginx+keepalived 搭建主备 nginx 高可用服务
- nginx 基础学习(八):Nginx 内网环境离线安装全过程
九. Java 基础
- Linux 环境 JDK 安装
- java 基础位运算基本原理分析
- http 基础知识点了解一下
- 拼接字符串 String、StringBuilder、StringBuffer 你用对了吗
- Java 输入和输出流关闭的顺序和关闭的姿势的对比理解
- ArrayList 源码(一):java1.8 源码之 ArrayList 源码解读
- ArrayList 源码(二):扩容和移位、删除元素详解
- 字符串 split 操作到底有多少坑
- 轻松了解 jdk8 之 lambda 表达式常用 API(持续更新……)
- java 启动命令详解
十. 微服务
- 分布式系统架构的远程调用(RESTFul、RPC)和 CAP 原理
- 系统架构的演变过程(单体应用架构、垂直应用架构、分布式 SOA 架构、微服务架构)
- Sharding-jdbc 项目构建和基本本功能
十一. 最佳实践
- 物联网(IoT)常用协议 MQTT 及 MQTT Broker 之 mosquitto 的基础使用
- 通过不同的方式实现多字段联合排序效果
- 分布式唯一 Id(雪花算法):原理+对比+方案
- 在一台电脑上配置多个 git 账户解决方案
- 通过枚举值的方式,实现前端选择栏的统一处理逻辑
- 论接口原子化和简单化的重要性
- Idea 自带的 http client 工具使用攻略
- 参数校验之 Hibernate-validator 的基本使用
- python3 的安装+maven 的安装
- xshell、CRT 上使用 vbscript 更高效连接定位到服务器以及目录、数据库
- 项目上线,旧数据需要修改,写 SQL 太麻烦,看 Excel 配合简单 SQL 的强大功能
- 发送邮件的 JavaMail 和 Spring 提供的 MailSender,以及比较
- 项目中手机、姓名、身份证信息等在日志和响应数据中脱敏操作
- Mac 电脑上安装 Homebrew 工具
- 前后端用户、角色、权限控制封装
- Vue 中集成 MarkDown 和富文本编辑器
- 单库分库分表后的数据迁移问题解决方案
十二. JWT
十三. Logback
- logback 新认识(一):logback 主要组件 appender、rollingPolicy 和 triggeringPolicy 的使用和理解
- logback 新认识(二):logback 之 MDC 日志跟踪、日志自定义效果
十四. Kafka
- Kafka 学习笔记(一):Kafka 基本概念理解
- Kafka 学习笔记(二):Kafka 之常用配置文件核心内容
- Kafka 学习笔记(三):Kafka 的第一个 HelloWorld
- Kafka 学习笔记(四):自定义序列化器、反序列化器、分区器以及分区再均衡策略
- Kafka 学习笔记(五):消费者偏移量提交、独立消费者、再均衡监听器以及消费者对重复消费、消息丢失问题的解决
十五. Redis
- Redis 学习笔记(一):Redis 常用数据类型之 str(字符串)、hash(哈希)和 list(列表)的命令
- Redis 学习笔记(二):Redis 常用数据类型之 set(集合)、zset(有序集合)的命令以及全局命令详解
- Redis 学习笔记(三):Redis 应用之投票、红包
- Redis 学习笔记(四):缓存雪崩、缓存击穿、缓存穿透形成的原因和解决方案
- Redis 学习笔记(五):redis 使用的 RESP 报文格式和手写 Redis 简易客户端
- Redis 学习笔记(六):Redis 之消息发布、订阅机制
- Redis 学习笔记(七):Redis 中 Lua 语言应用和原子性控制
- Redis 实现分布式锁
十六. 数据结构和算法
十七. Spring Cloud && Alibaba
十八. Linux
- Linux 终端连接遇到的两个问题
- Centos7 系统出现 ifconfig、yum 命令不可用问题解决
- Linux 环境 vim 命令(编辑器)的使用
- Linux 常用命令集
- Centos 系统如何扩充磁盘容量及默认 root 目录 50G 解决方案
十九. SVN
二十. 微信小程序
二十一. Docker
- Linux 环境 Docker 在线和离线安装以及镜像的加载
- Linux 环境 Docker 基本操作命令
- Docker 基础概念理解
- Dockerfile 的核心指令和编写案例
- Docker 的可视化工具 portainer
二十二. PostgreSQL
二十三. Jenkins
二十四. Kubernetes
二十五. VUE
二十六. 总结文档
- Java 面试知识总结篇(持续更新)
- Java 问答知识总结篇-基础知识
- Java 问答知识总结篇-JVM
- Java 问答知识总结篇-多线程&并发编程
- Java 问答知识总结篇-网络基础
- Java 问答知识总结篇-Spring
- Java 问答知识总结篇-Spring Boot
- Java 问答知识总结篇-Mybatis
- Java 问答知识总结篇-MySQL
- Java 问答知识总结篇-Redis
- Java 问答知识总结篇-MQ
- Java 问答知识总结篇-Nginx
- Java 问答知识总结篇-分布式
- Java 问答知识总结篇-Spring Cloud
- Java 问答知识总结篇-Dubbo
- Java 问答知识总结篇-Zookeeper
- Java 问答知识总结篇-ElasticSearch
- Java 问答知识总结篇-Netty
- Java 问答知识总结篇-场景分析题