自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (6)
  • 收藏
  • 关注

原创 知乎博客地址

博客已搬迁到知乎,知乎持续更新中,欢迎大家莅临指导。知乎博客地址

2021-07-19 09:22:50 142

原创 docker安装tomcat

docker的介绍与安装和常用命令介绍看本文时请先查看docker的安装与介绍,废话就不多说了,直接开车。1.docker 拉取最新的tomcatdocker pull tomcat2.先运行tomcatdocker run --name tomcat-test -d -p 8080:8080 tomcat3.拷贝生成的配置文件信息到外部指定的地点3.1先创建tomcat文件夹进入我们之前创建的文件夹mydatamkdir tomcat注意cecd976...

2021-06-29 15:09:44 244 1

原创 docker 安装nginx

docker的介绍与安装和常用命令介绍看本文时请先查看docker的安装与介绍,废话就不多说了,直接开车。1.docker拉取nginx镜像 没有指定版本docker pull nginx2.直接先启动--为了拷贝配置文件docker run -p80:80 --name nginx -d nginx3.拷贝文件(这步很重要)mkdir -p /mydata/nginx/htmlmkdir -p /mydata/nginx/logsdocker container cp.

2021-06-28 20:58:41 364

原创 docker安装mysql

docker的介绍与安装和常用命令介绍看本文时请先查看docker的安装与介绍,废话就不多说了,直接开车1.docker拉取mysql 5.7 镜像 sudo docker pull mysql:5.72.检查镜像是否下载成功 并启动mysql sudo docker imagesdocker run -p 3306:3306 --name mysql \--restart=always \--network common-network \-v /mydata/...

2021-06-28 20:10:42 261

原创 docker安装与配置 redis

docker的介绍与安装和常用命令介绍看本文时请先查看docker的安装与介绍,废话就不多说了,直接开车。docker镜像地址https://hub.docker.com/search?type=image点击进入 搜索redis 点击tags查看选择历史版本1.docker拉取redis镜像// 这里我直接为指定版本 就默认拉取最新的用的人最多的稳定版docker pull redis2.redis配置目录创建与设置mkdir -p /mydata/redi..

2021-06-28 18:02:08 219

原创 docker的介绍与安装

docker的介绍与安装

2021-06-28 17:28:18 309

原创 Tomcat 系统架构与原理剖析

Tomcat 系统架构与原理剖析浏览器访问服务器的流程Tomcat 请求处理大致过程Tomcat Servlet容器处理流程Tomcat 系统总体架构Tomcat 连接器组件 CoyoteCoyote 简介Coyote 的内部组件及流程Tomcat Servlet 容器 CatalinaServlet 容器 Catalina 的结构Container 组件的具体结构浏览器访问服务器的流程注意:浏览器访问服务器使⽤的是Http协议,Http是应⽤层协议,⽤于定义数据通信的格式,具体的数据传输使⽤的是TC

2021-06-21 22:32:26 76

原创 springboot源码剖析-热插拔技术和内嵌Tomcat介绍

热插拔技术还记得我们经常会在启动类Application上面加@EnableXXX注解吗?其实这个@Enablexxx注解就是一种热拔插技术,加了这个注解就可以启动对应的starter,当不需 要对应的starter的时候只需要把这个注解注释掉就行,是不是很优雅呢?那么这是如何实现的 呢...

2021-06-21 21:18:04 253

原创 springboot源码剖析-自定义Start实现接口频率控制@RepeatSubmit

SpringBoot starter机制SpringBoot中的starter是一种非常重要的机制,能够抛弃以前繁杂的配置,将其统一集成进 starter,应用者只需要在maven中引入starter依赖,SpringBoot就能自动扫描到要加载的信息并 启动相应的默认配置。starter让我们摆脱了各种依赖库的处理,需要配置各种信息的困扰。 SpringBoot会自动通过classpath路径下的类发现需要的Bean,并注册进IOC容器。SpringBoot提 供了针对日常企业应用研发各种场景的spr

2021-06-15 21:00:35 461

原创 springboot源码剖析-Run方法执行流程

SpringBoot项目的mian函数@SpringBootApplication//标注在类上说明这个类是`SpringBoot`的主配置类public class SpringBootMytestApplication{ public static void main(String[] args) { SpringApplication.run(SpringBootMytestApplication.class, args); }}run方法public stati..

2021-06-15 15:37:25 487

原创 springboot源码剖析之自动配置

自动装配根据我们添加的jar包依赖,会自动将一些配置类的bean注册进ioc容器,我们可以需要的地 方使用@autowired或者@resource等注解来使用问题:Spring Boot到底是如何进行自动配置的,都把哪些组件进行了自动配置?我们知道Spring Boot应用的启动入口是@SpringBootApplication注解标注类中的main()方法。@SpringBootApplication : SpringBoot 应用标注在某个类上说明这个类是 SpringBoot ...

2021-06-14 16:17:54 290

原创 springboot源码剖析之依赖管理

问题:(1)为什么导入dependency时不需要指定版本?在Spring Boot入门程序中,项目pom.xml文件有两个核心依赖,分别是spring-boot-starterparent和spring-boot-starter-web,关于这两个依赖的相关介绍具体如下spring-boot-starter-parent我们知道在创建spring boot项目时,如果选的spring initializr去创建项目 会自动创建parent节点 <parent> &lt..

2021-06-14 12:50:31 327 15

原创 SpringBoot源码环境构建

spring boot 源码分析SpringBoot源码环境构建spring boot 源码分析一、下载源码如何选择版本二、解压后导入IDEA三、新建一个module四、新建一个Controller五、启动 访问。一、下载源码访问地址:https://github.com/spring-projects/spring-boot/releases 现在最新版是2.5.1,在2.2.9之前是用maven搭建的,之后用的gradle搭建的,为了方便阅读,所以我们这里选择的2.2.9版本进行下载。如何选择

2021-06-14 11:04:27 515 2

原创 spring boot基础概念和用法

spring boot 源码分析spring bootspring boot 源码分析一、 MVC开发常用三层架构MVC是什么?二、Spring MVCspring mvc执行流程spring mvc执行流程图spring mvc执行流程文字描述spring mvc九大组件==HandlerMapping==(处理器映射器)==HandlerAdapter==(处理器适配器)HandlerExceptionResolver==ViewResolver==(视图解析器)RequestToViewNameTr

2021-06-06 22:03:41 256 2

原创 spring mvc 源码分析之父子容器问题

spring mvc 源码分析spring mvc 源码分析之父子容器问题spring mvc 源码分析前言为什么要弄两个ioc容器?一个不可以吗存在两个容器 父容器是spring ioc容器自容器是springmvc ioc容器父容器初始化(程序启动时就初始化)子容器初始化(spring mvc 初始化 第一次调用时初始化)加载流程图总结前言我们知道在spring启动的时候,会将我们配置的需要立即初始化的单例bean进行默认的初始化加载到内存中,也就是spring ioc容器中,当我们需要去使用时

2021-06-06 16:07:29 161

原创 spring mvc-⼿写 spring mvc 框架

⼿写 MVC 框架前言一、自定义MyDispatcherServlet二、使用步骤1.引入库2.读入数据总结前言本文通过手写实现 类似spring mvc的简单框架。一、自定义MyDispatcherServlet在写之前我们要明白,所有的请求都是通过servlet来进行处理的,在spring mvc中是DispatcherServlet来进行请求的处理和转发,DispatcherServlet extends FrameworkServlet 然后 FrameworkServlet extend

2021-06-05 16:58:53 112 2

原创 spring mvc 源码分析之核⼼步骤processDispatchResult⽅法剖析

spring mvc 源码分析spring mvc 源码分析之核⼼步骤processDispatchResult⽅法剖析spring mvc 源码分析流程图DispatcherServlet#processDispatchResult(processedRequest,response,mappedHandler,mv,dispatchException)#render(mv, request, response)InternalResourceView#renderMergedOutputModel(M

2021-06-05 16:10:48 100

原创 spring mvc 源码分析之核⼼步骤ha.handle⽅法剖析

spring mvc 源码分析spring mvc 源码分析之核⼼步骤ha.handle⽅法剖析spring mvc 源码分析流程图适配器调用处理器进行处理返回ModelAndView对象getMethodArgumentValues(request, mavContainer, providedArgs)doInvoke(args) 反射调用总结流程图适配器调用处理器进行处理返回ModelAndView对象分析 :1.这个方法无非就是通过反射调用方法来执行,并将返回值包装成ModelAndV

2021-06-05 15:37:11 168

原创 spring mvc 源码分析之处理器和适配器的获取

spring mvc 源码分析spring mvc 源码分析之处理器和适配器的获取spring mvc 源码分析流程图一、Handler是什么?一、如何通过请求路径找到对应的HandlerExecutionChain二、使用步骤1.引入库2.读入数据总结流程图一、Handler是什么?handler在springmvc中代表了控制器,interceptors是拦截器,后面我们通过手写实现spring mvc就能清楚的知道,简单理解其实就是控制类中的某个方法,上面标注了请求路径,与其一一绑定的一个

2021-06-05 15:10:01 159

原创 spring mvc 源码分析之spring mvc初始化

spring mvc 源码分析spring mvc初始化源码分析spring mvc 源码分析前言一、DispatcherServlet中定义的九个属性二、九⼤组件的初始化时机onRefresh(ApplicationContext context)开始第一次请求初始化处理器映射 initHandlerMappings(context);DispatcherServlet.properties 文件配置的内容前言我们知道spring mvc要实现web能力,主要依靠九大组件。因此spring mvc初

2021-06-05 14:19:46 235

原创 spring mvc 源码分析之总流程

spring mvc 源码总流程前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言废话不多说,直接上图。一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warnings

2021-06-03 22:57:24 59

原创 spring-mvc源码分析之案例搭建

spring-mvc源码分析之案例搭建一、创建案例在源码工程中创建model在源码工程中创建model选择gradle 创建web项目添加DemoController类 和springmvc.xml以及web.xml和显示的index.jsp二、测试示例idea+maven tomcat配置idea+gradle tomcat配置下载 tomcat下载完成后 解压 配置编码**idea配置总结一、创建案例在源码工程中创建model创建后的结构图在源码工程中创建model选择gradle 创建web

2021-06-02 22:03:31 179

原创 Spring MVC之原理概念

Spring MVCSpring MVC一、 MVC开发常用三层架构MVC是什么?二、Spring MVC二、使用步骤1.引入库2.读入数据总结Spring MVC一、 MVC开发常用三层架构常见标准的三层架构包括:表现层、业务层、持久层。MVC是什么?MVC 全名是 Model View Controller,是 模型(model)-视图(view)-控制器(controller) 的缩写, 是⼀种⽤于设计创建 Web 应⽤程序表现层的模式。MVC 中每个部分各司其职:Model(模型):

2021-06-01 22:46:17 193 1

原创 手写spring简单实现转账--体会核心ioc和aop

文章目录前言spring是全栈的轻量级的开源框架,本文就通过一个简单的案例帮助大家理解其ioc和aop大致是如何实现的。一、转账案例首先我们设定一个需求:简单转账功能比如A向B转账步骤:首先需要先查询一下 A的余额 判断是否能够转钱,如果能够转钱执行下面 如果不能就返回转账失败 余额不足。 当余额足够时 查询B的余额将需要转账的钱加上之前的余额 再通过修改语句改变B的余额。 A的余额为 A原来的余额减去需要转账的钱 然后再调用修改语句改变A的余额。 出现异常事务...

2021-05-23 21:41:23 320 1

原创 Spring 源码分析之Aop

Aop源码解析前言一、代理对象创建分析案例准备代理对象创建流程代理对象创建总结流程Spring声明式事务控制@EnableTransactionManagement 注解 总结文章源码地址前言aop 面向切面编程,我们知道java中最重要的思想就是面向对象编程。而面向对象最终要的就是 继承 封装 多态。都是通过类的继承或者接口的实现,来纵向减少冗余代码的开发。但是无法解决横向冗余,我们需要在方法 前后给方法进行增强。oop思想显然就不能办到,而aop就是用来解决横向冗余的,sprng中事务和日志都是通过

2021-05-22 22:54:11 114

原创 spring源码分析之bean循环依赖

bean循环依赖的解决前言一、循环依赖是什么?二、循环依赖处理机制prototype 原型 bean循环依赖(⽆法解决)单例 bean set注入循环依赖解决过程测试代码开始初始化TestBean注入TestBean属性时需要 初始化itBeanitBean初始化完成完成TestBean初始化 放入单例池总结文章源码地址前言spring的ioc容器帮助我们解决了复杂对象之前的创建问题,我们需要什么对象,只要是被spring管理的bean都可以直接向spring获取改对象,但是当A对象里面的属性是B对象

2021-05-22 14:48:07 333

原创 spring源码分析之BeanFactory

文章目录一、refreshBeanFactory()二、使用步骤1.引入库2.读入数据总结一、refreshBeanFactory()在创建ConfigurableListableBeanFactory 时会先判断一次是否已有改容器对象,如果有会先销毁所有的bean对象,然后再销毁容器。再进行创建容器流程!@Override protected final void refreshBeanFactory() throws BeansException { // 判断是否有bean factor

2021-05-22 09:36:19 104

原创 spring源码分析之Ioc

Ioc执行流程源码分析前言一、源码阅读的技巧二、IOC中关键的接口和类1.BeanFactory2.Bean⽣命周期关键时机点三、IOC总流程分析总结前言Spring 是分层的 full-stack(全栈) 轻量级开源框架,以 IoC 和 AOP 为内核,提供了展现层 SpringMVC 和业务层事务管理等众多的企业级应⽤技术,还能整合开源世界众多著名的第三⽅框架和类库,已经成为使⽤最多的 Java EE 企业应⽤开源框架。因此无论在以后面试还是工作学习中,都是很重要的,学习知识可能最开始我们只是知道怎

2021-05-19 11:42:58 84

原创 spring源码分析之spring5.2.X源码的导入

spring源码导入前言一、spring源码去哪里找?二、在idea中导入spring源码开始验证,并运行源码。总结文章源码地址前言本文主要为想要阅读spring源码,却在导入源码时报各种错,快要奔溃或者已经放弃的小伙伴准备的,废话不多说,快上车。一、spring源码去哪里找?直接点击–跳转到github首页右上方搜索框中输入 spring 切记不要在中间框输入 中间的框表示注册github 因为我们并不需要建立仓库只需要下载spring源码 因此不需要注册,感兴趣的小伙伴也可

2021-05-18 23:26:33 264

原创 spring概述与核心思想

spring概述与核心思想spring 是什么?spring 简介spring 的发展历程spring 的架构图spring 核心IOC和AOP什么是IoC?IoC 为什么要用?IoC和DI的区别什么是AOP?AOP在解决什么问题?spring 为什么要用?spring 的优势总结spring 是什么?spring 简介Spring 是分层的 full-stack(全栈) 轻量级开源框架,以 IoC 和 AOP 为内核,提供了展现层

2021-05-07 22:48:03 156

原创 mybatis 源码分析之执行操作源码分析

mysql执行操作源码分析前言mysql全中文注释版源码二、使用步骤1.引入库2.读入数据总结前言我们知道在使用mybatis进行增删改查操作其实底层都是调用的sqlSession接口中的方法,因此本文章主要是里探讨其底层具体的实现细节,由于篇幅有限,因此我在这里就只分析增删改查每种的一个方法,有兴趣可以去下载全文注释的mysql源码mysql全中文注释版源码示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):imp

2021-05-05 18:13:05 110 1

原创 mybatis 源码分析之创建SqlSession

mybatis 源码分析之创建SqlSession[mybatis 全中文注释版源码](https://download.csdn.net/download/baidu_38652335/18370680)SqlSession简介一、DefaultSqlSessionFactory类中的openSession源码解析?openSessionFromDataSource实际创建对象方法创建 Transaction 对象创建 Executor 对象创建 DefaultSqlSession 对象总结mybati

2021-05-05 12:15:38 285

原创 mybatis 源码分析之创建sqlSessionFactory

mybatis 源码分析之sqlSessionFactory的创建过程[mybatis 全中文注释版源码](https://download.csdn.net/download/baidu_38652335/18370680)sqlSessionFactory是什么?一、通过SqlSessionFactoryBuilder的build方法创建SqlSessionFactory源码详解buid方法--使用构建者模式parser.parse()源码--生成Configuration 对象parseConfigu

2021-05-05 12:15:11 258

原创 简单运用orm框架mybatis

由浅入深理解orm框架mybatis前言一、mybatis是什么?二、怎么用?1.引入库2.读入数据总结前言常见的orm框架主要有半自动的mybatis和全自动的hibnater。hibnater因为是全自动的,学习成本较高,并且sql自动生成,因此sql调优比较麻烦和复杂,而半自动的mybatis因其学习成本较低,容易理解能自定义sql,因此本文主要介绍mysql的由来和实现流程与原理。一、mybatis是什么?Mybatis是一个优秀的半自动的ORM框架,它对JDBC操作数据库的过程进行封装,

2021-05-05 12:13:32 530

原创 mybatis 架构原理

Mybatis架构原理1.架构架构设计图架构设计描述2.主要构件及其相互关系3.mybatis的层次图4.总体执行流程1.架构架构设计图架构设计描述API接口层:提供给外部使用的接口 API,顶级接口是sqlSession,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。就是我们常见的增删改查等操作。MyBatis和数据库的交互有两种方式:a. 使用传统的MyBati s提供的API ;b. 使用Mapper代理的方式数据处理层:负

2021-05-05 12:12:34 104 1

原创 简单手写mybatis框架

简单手写mybatis框架前言一、原生jdbc的实现以及缺点和解决方法?二、使用步骤1.引入库2.读入数据总结前言在传统的SSM项目中mybatis是我们开发程序常用的数据库连接框架,并且在面试中也会经常问到mybayis的实现原理,比如1.mybatis是如何将自己的生命周期交给spring进行管理?2.mybatis的执行流程?3.怎么用等等问题,因此我们需要充分了解其底层原理,俗话说光说不练假把式,有可能你看完源码知道了是咋回事。但是当你真正能写出来,我觉得比看懂更重要,往往大佬都是能写框架的,因

2021-05-02 09:02:10 130 1

原创 关于Fegin调用时传值问题

这里写自定义目录标题关于Fegin调用时传值问题传输参数关于Fegin调用时传值问题现在大多数分布式,中小型,并发不高的项目基本都是用fegin 来实现微服务之间的相互调用,fegin因为存在性能瓶颈,并且支持调用协议太过单一,因此在大型项目中一般使用dubbo来进行调用和负载均衡。本文主要介绍在fegin在进行调用时,传值不当会导致调用者接收不到值的情况,以及解决方案。传输参数当参数比较复杂时,feign即使声明为get请求也会强行使用post传参的形式进行传参,也就是传输的参数会封装到bod

2021-04-27 11:37:04 533 1

原创 HashMap源码分析

java集合---HashMap源码分析HashMap简介HashMap实施说明Node简介hashMap中静态方法介绍hash计算存放数据到数组中的下标1.h >>> 162.为什么 h = key.hashCode()) 与 (h >>> 16) 异或comparableClassFor(Object x)方法解读1.instanceof2.getClass()3.getGenericInterfaces()4.ParameterizedType5.getRawTyp

2021-03-11 16:40:36 87

MHA高可用架构搭建细节流程

从搭建mysql主从复制到MHA高可用实现故障转移

2021-08-26

zookeeper-release-3.5.4.7z

zookeeper源码中文注释

2021-07-16

springboot+netty+webSocket实现在线聊天.zip

netty+webSocket实现在线聊天

2021-07-08

nacos脚本.sql

nacos配置mysql永久缓存的数据库脚本

2021-07-01

spring-framework-5.2.x.zip

spring 5.2.x中文注释源码,还有分析案例哦

2021-05-22

mybatis全中文注释源码版.zip

mybatis源码所有方法所有类和接口都加入了详细的中文注释,方便大家查看和理解mybatis的精髓。

2021-05-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除