# CookBook **Repository Path**: shenjunfang/CookBook ## Basic Information - **Project Name**: CookBook - **Description**: 🎉🎉🎉JAVA高级架构师技术栈==任何技能通过 “刻意练习” 都可以达到融会贯通的境界,就像烹饪一样,这里有一份JAVA开发技术手册,只需要增加自己练习的次数。🏃🏃🏃 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 2 - **Created**: 2020-10-19 - **Last Updated**: 2025-01-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # JAVA高级架构师技术栈 [![Build Status](https://travis-ci.com/Byron4j/1024interview.svg?branch=develop)](https://travis-ci.com/Byron4j/1024interview) ![GitHub release](https://img.shields.io/github/release-pre/byron4j/1024interview.svg) [![codecov](https://scan.coverity.com/projects/17857/badge.svg)](https://scan.coverity.com/projects/17857) ![APM](https://img.shields.io/apm/l/vim-mode.svg?label=License&style=popout) ![](https://img.shields.io/badge/author-%E4%B8%9C%E9%99%86%E4%B9%8B%E6%BB%87-red.svg) >任何技能通过 “刻意练习” 都可以达到融会贯通的境界,就像烹饪一样,这里有一份JAVA开发技术手册,只需要增加自己练习的次数。 [JAVA程序猿笔试面试干货分享](https://github.com/Byron4j/depthgoods) **[IDEA-2019-1永久激活教程](软件激活/IDEA-2019-1永久激活教程.md)** :bowtie: **觉得不错,就 ★Star 吧** ## [:tada:刷题吧:tada:](https://github.com/Byron4j/leetcode) ## :tada:**数据结构和算法** - 数据结构 - :tada:[01-线性表](数据结构和算法/数据结构/01-线性表.md) - :tada:[02-链表](数据结构和算法/数据结构/02-链表.md) - :tada:[03-栈、队列](数据结构和算法/数据结构/03-栈、队列.md) - :tada:[04-哈希](数据结构和算法/数据结构/04-哈希.md) - :tada:[05-树](数据结构和算法/数据结构/05-树.md) - :tada:[06-二叉查找树](数据结构和算法/数据结构/06-二叉查找树.md) - :tada:[07-红黑树](数据结构和算法/数据结构/07-红黑树.md) - :tada:[08-AVL树](数据结构和算法/数据结构/08-AVL树.md) - :tada:[09-B树](数据结构和算法/数据结构/09-B树.md) - 算法 - :tada:[快速排序](数据结构和算法/算法/1-快速排序.md) ## :sparkles:Git - [基于Github从零开始搭建个人博客(上)](Git/0-基于Github从零开始搭建个人博客.md) - [基于Github从零开始搭建个人博客(下)](Git/0-基于Github从零开始搭建个人博客(下).md) - [博客](https://zyt505050.gitee.io/2019/01/28/ji-yu-github-hexo-cong-ling-kai-shi-da-jian-ge-ren-bo-ke-xia/) - :sparkles:[Git提交添加emoji图标](Git/gitCookbook/1-Git提交添加emoji图标.md) - [Github给项目添加徽标](Git/2-github-travis-ci.md) - 😆[更多github emoji徽标](Git/gitemojiall.md) ## 👽**Javassist** - 👽[javassist官网](http://www.javassist.org/):[官方指南](http://www.javassist.org/tutorial/tutorial.html) - 👽[javaagent编程指南](javassist指南/0-javassist编程指南概览.md) - 👽1.[读、写字节码](javassist指南/1-读、写字节码.md) - 👽2.[ClassPool类池](javassist指南/2-ClassPool.md) - 👽3.[ClassLoader类加载](javassist指南/3-ClassLoader.md) - 👽4.[Introspection and customization自省和定制](javassist指南/4-自省和定制.md) ## :tada:JAVA面试汇总 - 1.:tada:[面试常问题目](面试汇总/1-面试常问题目.md) ## 🌰**JAVA核心高级知识点** ### 🌰**SE专题** - 1.[Java枚举](Java核心/1-Java枚举.md) - 2.[Java注解](Java核心/2-Java注解.md) - 3.[Java反射](Java核心/3-Java反射.md) - 4.[动态代理](Java核心/4-动态代理.md) - 5.[线程池](Java核心/5-线程池.md) ### 🌰**并发专题** - 🌰**并发源码解读类** - 1.AQS: ```AbstractQueuedSynchronizer``` - 2.重入锁:```ReentrantLock``` ## 🔨**XML** - [1-XML介绍](XML/1-XML介绍.md) - [2-dom4j解析XML](XML/2-dom4j解析XML.md) - [3-XPath解析XML](XML/3-XPath解析XML.md) ## 🌊**MySQL** - 🌊.[MySql存储引擎](MySQL/2-MySql存储引擎.md) - 🌊.[InnoDB存储引擎](MySQL/3-InnoDB存储引擎.md) - 🌊.[MySQL数据库锁、事务隔离级别详解](MySQL/1-MySQL数据库读写锁示例详解、事务隔离级别示例详解.md) - 🌊.[Mysql主从复制](MySQL/999-Mysql主从复制.md) - 🌊.MySQL索引 - 🌊.MySQL优化篇 - [MySQL数据库的索引原理、与慢SQL优化的5大原则](https://yq.aliyun.com/articles/661447?spm=a2c4e.11153940.0.0.527d158fbcXSEn) - 🌊.[CentOS7安装MariaDB的流程步骤](MySQL/007-CentOS7安装MariaDB的流程步骤.md) ## 🚻**Spring** - 🚻[Spring-IOC](Spring/1-IOC相关.md) - 🚻[SpringMVC原理解析](Spring/2-SpringMVC原理解析.md) - 🚻[SpringAOP](Spring/3-SpringAOP.md) - 🚻[Spring过滤器](Spring/4-过滤器.md) - 🚻[Spring拦截器](Spring/5-拦截器.md) - 🚻[Spring事务](Spring/6-Spring事务.md) ## 🍂**SpringBoot** - 🍂[自定义启动器starter](SpringBoot/99-自定义启动器starter.md) ## 🐯**SpringCloud** - 🐯[SpringCloud资料链接](SpringCloud/0-SpringCloud资料链接.md) - 🐯[0-SpringCloud资料链接](SpringCloud/0-SpringCloud资料链接.md) - 🐯[1-Eureka服务注册发现](SpringCloud/1-Eureka服务注册发现.md) - 🐯[2-Ribbon负载均衡](SpringCloud/2-Ribbon负载均衡.md) - 🐯[3-Feign负载均衡](SpringCloud/3-Feign负载均衡.md) - 🐯[4-Hystrix熔断器](SpringCloud/4-Hystrix熔断器.md) - 🐯[5-HystrixDashboard仪表盘](SpringCloud/5-HystrixDashboard仪表盘.md) - 🐯[6-Zuul动态路由转发-过滤](SpringCloud/6-Zuul动态路由转发-过滤.md) - 🐯[7-SpringCloud-Config配置](SpringCloud/7-SpringCloud-Config配置.md) - 🐯[8-SpringCloud-Config高可用架构](SpringCloud/8-SpringCloud-Config高可用架构.md) - 🐯[9-SpringCloud-Bus消息总线](SpringCloud/9-SpringCloud-Bus消息总线.md) - 🐯[999-附加参考资料](SpringCloud/999-附加参考资料.md) ## 🚀**Nginx** - 🚀[Windows环境Ngin](Nginx/1-Windows环境Ngin.md) - 🚀[Nginx基础入门](Nginx/2-Nginx基础入门.md) - 🚀[Nginx服务端404以及502等页面配置](Nginx/3-nginx服务端404以及502等页面配置.md) - 🚀[负载均衡实现实践](Nginx/7-负载均衡实现实践.md) - 🚀[Nginx实现虚拟主机、反向代理、负载均衡、高可用](Nginx/007-Nginx实现虚拟主机、反向代理、负载均衡、高可用.md) - 🚀**[Keepalived+Nginx搭建高可用服务](Nginx/007-Nginx实现虚拟主机、反向代理、负载均衡、高可用.md)** - 🚀**[Nginx配置文件nginx.conf全解](Nginx/9-Nginx配置文件nginx.conf详细介绍.md)** - 🚀**[如何给nginx添加外部模块](Nginx/10-如何给nginx添加外部模块.md)** - 🚀[资料分享](Nginx/999-资料分享.md) ## 🐶**Maven** - 🐶[编写一个Maven插件](Maven/1-编写一个Maven插件.md) - [Maven-profile配置](Maven/2-Maven-profile配置.md) ## **Jenkins** ## 🏦**设计模式** - 🏦1.[单例模式](设计模式/1-单例模式/1-单例模式.md) - 🏦2.[观察者模式](设计模式/2-观察者模式/2-观察者模式.md) - 🏦3.[适配器模式](设计模式/3-适配器模式/3-适配器模式.md) - 🏦4.[原型模式](设计模式/4-原型模式/4-原型模式.md) - 🏦5.[建造者模式](设计模式/5-建造者模式/5-建造者模式.md) - 🏦6.[工厂方法、抽象工厂模式](设计模式/6-工厂方法模式/6-工厂方法模式.md) - 🏦7.[模板模式](设计模式/7-模板方法/7-模板模式.md) - 🏦8.[状态模式](设计模式/8-状态模式/8-状态模式.md) - 🏦9.[策略模式](设计模式/9-策略模式/9-策略模式.md) - 🏦10.[对象池模式](设计模式/10-对象池设计模式/10-对象池设计模式.md) - 🏦11.[责任链模式](设计模式/11-责任链模式/11-责任链模式.md) - 🏦12.[装饰器模式](设计模式/12-装饰器模式/12-装饰器模式.md) ## 🍁**MyBatis** - 🍁[Mybatis面试题](MyBatis/0-Mybatis面试题.md) - 🍁[传统JDBC弊端与MyBatis的优点](MyBatis/1-传统JDBC弊端与MyBatis的优点.md) - 🍁[MyBatis使用介绍](MyBatis/2-MyBatis使用介绍.md) - 🍁[逆向工程](MyBatis/3-逆向工程.md) - 🍁[Mybatis源码相关类](MyBatis/4-MyBatis源码.md) - 🍁[Mybatis拦截器](MyBatis/5-Mybatis拦截器.md) ## 🍅**Redis** - 🍅[Redis内存淘汰策略](Redis/1-Redis内存淘汰策略.md) - 🍅[Redis数据类型以及数据结构实现](Redis/2-Redis数据类型以及数据结构实现.md) - 🍅[Redis缓存](Redis/3-Redis缓存.md) - 🍅[Redis哨兵-复制](Redis/4-Redis哨兵-复制.md) - 🍅[Redis-Cluster集群](Redis/5-Redis-Cluster集群.md) - 🍅[Redis分布式锁](Redis/6-Redis分布式锁.md) - 🍅[Redis持久化](Redis/7-Redis持久化.md) - 🍅[Redis应用场景分析](Redis/8-Redis应用场景分析.md) - 🍅[Redis-conf配置文件解析](Redis/9-Redis-conf配置文件解析.md) - 🍅[Redis运维系统命令](Redis/999-Redis运维系统命令.md) ## **Kafka** - [1-Kafka基础](Kafka/1-Kafka基础.md) ## 👲RocketMQ - 👲[Windows安装RocketMQ以及运行第一个MQ程序](RocketMQ/0-windows安装RocketMQ以及运行第一个MQ程序.md) - 👲[RocketMQ核心知识](RocketMQ/1-RocketMQ核心知识.md) - 👲[RocketMQ最佳实践-来自官网](RocketMQ/2-RocketMQ最佳实践-来自官网.md) - 👲[RocketMQ控制台搭建](RocketMQ/3-RocketMQ控制台搭建.md) - 👲[RocketMQ源码片段阅读(一)](RocketMQ/4-RocketMQ源码片段阅读(一).md) - [RocketMQ配置技能](RocketMQ/999-RocketMQ配置技能.md) - [RocketMQ配置参数大全-持续收录](RocketMQ/9999-RocketMQ配置参数大全-持续收录.md) - 👲参与开源 - 1.[翻译客户端配置部分-中文翻译成英文](RocketMQ/参与阿里巴巴RocketMQ项目/1-客户端配置_en.md) ## NIO/Netty - 1.[Netty第一个程序示例](src/main/java/org/byron4j/cookbook/netty) - 2.[Netty自定义传输协议](src/main/java/org/byron4j/cookbook/netty) - 3.[Netty登陆请求、验证登陆、获取响应示例](src/main/java/org/byron4j/cookbook/netty) 🐝**Tomcat** ## 🎽**HttpClient4** - 🎽基础 - 🎽高级 ## 💥**JVM** - 💥[JVM参数](JVM/1-JVM参数.md) - 💥[jstat命令详解](JVM/2-jstat命令详解.md) - 💥[JVM内存分配与回收策略案例](JVM/11-内存分配与回收策略案例.md) ## 🏃**Zookeeper** - 🏃1.[ZK概览](Zokeeper/Zookeeper分布式过程协同技术详解Note/第1章-Zk概览.md) - 🏃2.[了解Zk与Zk集群配置、主从模式案例演示](Zokeeper/Zookeeper分布式过程协同技术详解Note/第2章-了解Zk与Zk集群配置、主从模式案例演示.md) - 🏃3.[使用Zk的API进行开发](Zokeeper/Zookeeper分布式过程协同技术详解Note/第3章-使用Zk的API进行开发.md) - 🏃4.[监听节点的状态变更、分配任务](Zokeeper/Zookeeper分布式过程协同技术详解Note/第4章-处理状态变化-主节点、从节点.md) - 🏃5.[ZooKeeper内部原理--群首选举等](Zokeeper/Zookeeper分布式过程协同技术详解Note/第九章-ZooKeeper内部原理.md) ## 😇**Dubbo** - 😇[]() - RPC - Protobuf - [Protobuf基础教程](Protobuf/ProtobufTutorial/Protobuf基础教程.md) ## 🎹**Atomikos分布式事务方案** - [官网](https://www.atomikos.com/) ## Code Refactoring 代码重构 ## 🐧**Linux** - 🐧[1-Linux基础](Linux/1-Linux基础.md) - 🐧[2-Linux用户磁盘管理](Linux/2-Linux用户磁盘管理.md) - 🐧[3-Linux的vi、vim使用](Linux/3-Linux的vi、vim使用.md) - 🐧[4-Linux的yum命令](Linux/4-Linux的yum命令.md) - 🐧[5-yum源配置](Linux/5-yum源配置.md) - 🐧[6-常用操作快捷键](Linux/6-常用操作快捷键.md) - 🐧[7- Linux环境下的各种常用开发软件安装教程](Linux/7- Linux环境下的各种常用开发软件安装教程.md) ### 🐧awk 脚本语言 - 🐧[AWK 脚本语言](Linux/awk/1-awk入门.md) ### 🐧Shell 脚本编程语言 - 🐧[shell基础入门知识](Linux/shell/1-shell基础教程.md) - 🐧[shell基本语法](Linux/shell/2-shell基本语法.md) - 🐧[shell运算符汇总](Linux/shell/3-shell运算符汇总.md) - 🐧[shell的echo、printf、test详细介绍](Linux/shell/4-shell的echo、printf、test详细介绍.md) ## Python3 编程语言 - 1.[概览](Python3/1-Python3概览.md) - 2.[Python3 基本语法、操作运算符](Python3/2-Python3基本语法.md) - 3.[Python3 分支决策、循环控制](Python3/2-Python3基本语法.md) - 4.[Python3 迭代器、生成器](Python3/2-Python3基本语法.md) - Lua 编程语言 - 1.[Lua 编程语言入门指南](Lua/1-Lua语言入门指南.md) ## JSON ### [**Fastjson**](https://github.com/alibaba/fastjson) ### net.sf.json ### [**Jackson**](JSON/jackson/jackson编程指南.md) ### **Gson** ### 应用场景示例 - bean转String - String转bean - List转String - String转List - Map转String - String转Map ## Mockito - Mockito基础 - [首次使用Mockito](Mockito/Mockito基础/1-开始@Mock-@Spy-@Captor-@InjectMocks.md) - Mockito高级 - Mockito集成 ## 分布式配置中心 ### 百度Disconf - [github地址](https://github.com/knightliao/disconf) - [文档](https://disconf.readthedocs.io/zh_CN/latest/) ## 🏡**架构** ### 🏡SOA面向服务架构 ### 🏡微服务 - [微服务+分布式+性能优化+JVM调优+团队开发](https://yq.aliyun.com/articles/661448?spm=a2c4e.11153940.0.0.71d76c14KsnDF1) - 🏡ESB企业服务总线 - 🏡==[架构资源](架构/内容/架构内容.md)== 🏡==[缓存](架构/缓存/01_mysql和redis缓存一致性解决方案.png)== 🏡==[高可用](架构/缓存/01_mysql和redis缓存一致性解决方案.png)== 🏡==[存储](架构/缓存/01_mysql和redis缓存一致性解决方案.png)== ### 外部资源 - [为什么大公司一定要使用微服务](架构/微服务/01-为什么大公司一定要使用微服务.md) ## 研发管理 ### Scrum - [Scrum基础入门](Scrum/1-Scrum基础入门.md) - [初中级Java工程师技术栈](初中级Java工程师技术栈) ## **术语** ## **[精华资源链接阅读]()** - [简易RPC框架-客户端限流配置](http://www.cnblogs.com/ASPNET2008/p/7712974.html) - [简易RPC框架-SPI](https://www.cnblogs.com/ASPNET2008/p/9062341.html) - [简易RPC框架-熔断降级机制](https://www.cnblogs.com/ASPNET2008/p/7954782.html) - [spring mvc+ELK从头开始搭建日志平台](https://www.cnblogs.com/ASPNET2008/p/5594479.html) - [简易RPC框架-过滤器机制](http://www.cnblogs.com/ASPNET2008/p/7636276.html) - [Java-SPI机制解读](https://zhuanlan.zhihu.com/p/28909673) - [加载时织入可以查看在Spring框架中通过AspectJ织入](https://docs.spring.io/spring/docs/5.1.6.RELEASE/spring-framework-reference/core.html#aop-aj-ltw) - [Aspectj开发指南](https://www.eclipse.org/aspectj/doc/released/devguide/index.html) - [Spring中的分布式事务,使用XA和不使用XA](https://www.javaworld.com/javaworld/jw-01-2009/jw-01-spring-transactions.html) - [Java事务设计策略](https://www.infoq.com/minibooks/JTDS) - [腾讯云-Mybatis拦截器专栏](https://cloud.tencent.com/developer/information/mybatis%E6%8B%A6%E6%88%AA%E5%99%A8) - [Mybatis拦截器CSDN](https://blog.csdn.net/zsj777/article/details/81986096) ## **[github资源分享]()** - [阿里oldratlee](https://github.com/oldratlee)