自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

语雀同名:犬豪 yuque.com/qhao

语雀同名:犬豪 yuque.com/qhao

  • 博客(40)
  • 资源 (18)
  • 收藏
  • 关注

原创 Spring Boot常见面试题

【Q-01】对于 Spring Boot 来说,最为重要的注解应该就是@SpringBootApplication 了,请谈一下你对这个注解的认识。【RA】Spring Boot 中的@SpringBootApplication 是一个组合注解。除了基本的元注解外,其还组合了三个很重要的注解:@SpringBootConfiguration:其等价于@Configuration,表示当前类为一个配置类。@ComponentScan:该注解用于配置应用中 Bean 的扫描指令,但其并没有进行真正的扫描

2020-09-23 13:45:33 175

原创 Spring Boot工程应用篇(六)Web工程配置(注册SpringMVC拦截器)、Servlet、Servlet的Filter

11. Spring Boot 下使用拦截器在非Spring Boot工程中若要使用SpringMVC的拦截器,在定义好拦截器后,需要在Spring配置文件中对其进行注册。但 Spring Boot 工程中没有了 Spring 配置文件,那么如何使用拦截器呢?Spring Boot 对于原来在配置文件配置的内容,现在全部体现在一个类中,该类需要继承自 WebMvcConfigurationSupport 类,并使用@Configuration 进行注解,表示该类为一个JavaConfig 类,其充当配置

2020-09-23 13:17:11 190

原创 Spring Boot工程应用篇(五)整合Dubbo

10. Spring Boot 整合Dubbo10.1 步骤总结(1) 服务提供者工程添加各种依赖在启动类上添加@EnableDubboConfiguration 注解,开启 Dubbo 自动配置修改配置文件在启动类上添加@EnableTransactionManagement 注解,开启 Dubbo 自定义的事务管理器一定要加这个注解,dubbo的事务管理器是自己实现的,如果不开启事务管理器,相当于这个dubbo应用没有完全启动在 Service 实现类上添加阿里的@Service 注

2020-09-23 13:05:37 273

原创 Spring Boot工程应用篇(四)整合Mybatis、整合事务、整合日志、整合Redis

6. Spring Boot 整合Mybatis6.1 总步骤在 pom 中导入三个依赖:MyBatis 与 Spring Boot 整合依赖、MySQL 驱动依赖、Druid 依赖将 dao 目录注册为资源目录在 Dao 接口上添加@Mapper 注解在主配置文件中注册三类信息:映射文件、实体类别名、数据源2.6.2 需求完成一个简单的注册功能。2.6.3 定义工程复制 06-jsp 工程,并重命名为 07-mybatis。2.6.4 修改 pom 文件导入三个依赖:mybati

2020-09-23 12:49:51 187

原创 Spring Boot工程应用篇(三)读取自定义配置(主配置文件、自定义配置文件)、内嵌tomcat使用JSP页面

4. 读取自定义配置自定义配置,可以是定义在主配置文件中的自定义属性,也可以是自定义配置文件中的属性。4.1 读取主配置文件中的属性(1) 定义工程复制Spring Boot 快速入门中的工程,并重命名为 04-readConfig。(2) 修改 SomeController 类读取监听的端口号。在@Value 注解中通过${ }符号可以读取指定的属性值。4.2 读取主配置文件中的自定义配置(1) 修改主配置文件在配置文件中添加如下自定义配置。(2) 修改 SomeControlle

2020-09-23 11:20:20 225

原创 Spring Boot工程应用篇(二)多环境选择(相同代码运行在不同环境、不同环境执行不同实现类、单配置文件实现多环境)

3. 多环境选择3.1 什么是多环境选择以下两种场景下需要进行“多环境选择”。(1) 相同代码运行在不同环境在开发应用时,通常同一套程序会被运行在多个不同的环境,例如,开发、测试、生产环境等。每个环境的数据库地址、服务器端口号等配置都会不同。若在不同环境下运行时将配置文件修改为不同内容,那么,这种做法不仅非常繁琐,而且很容易发生错误。此时就需要定义出不同的配置信息,在不同的环境中自动选择不同的配置。(2) 不同环境执行不同实现类在开发应用时,有时不同的环境,需要运行的接口的实现类也是不同的。例

2020-09-23 10:58:39 1238

原创 Spring Boot工程应用篇(一)(自定义异常页面、单元测试)

1. 自定义异常页面对于 404、405、500 等异常状态,服务器会给出默认的异常页面,而这些异常页面一般都是英文的,且非常不友好。我们可以通过简单的方式使用自定义异常页面,并将默认状态码页面进行替换。直接在Spring Boot 快速入门中的程序上修改即可,无需创建新的工程。1.1 定义目录在 src/main/resources 目录下再定义新的目录 public/error,必须是这个目录名称。1.2 定义异常页面在 error 目录中定义异常页面。这些异常页面的名称必须为相应的状态码,

2020-09-23 10:41:18 129

原创 Spring Boot 如何在Servlet 3.0以下的环境中部署war应用

Spring Boot的应用需要在Servlet3.0容器中运行,我们知道Servlet 3.0是不需要配置web.xml的。如果想在Servlet2.5容器中运行需要做一下改变:第一步,引入spring-boot-legacy包:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-legacy</artifactId&gt

2020-09-23 10:18:48 221

原创 Spring Boot Actuator 监控器

Actuator 监控器Actuator 是 Spring Boot 提供的一个可插拔模块,用于对工程进行监控。其通过不同的监控终端实现不同的监控功能。Spring Boot 的 Actuator 可以部署在每个工程中,实现对每个工程的监控。1. 基本环境搭建随便一个 Spring Boot 工程中都可以使用 Actuator 对其进行监控。(1) 导入依赖<dependency> <groupId>org.springframework.boot</grou

2020-09-22 22:04:49 481

原创 Spring Boot 快速入门(二)主配置文件、yml配置文件语法

SpringBoot 的主配置文件编辑器Spring Boot 的主配置文件是 src/main/resources 中默认创建的 spring.properties 文件。该文件打开后是没有自动提示功能的。此时可以打开 Project Structure 窗口,在 Modules 中选中没有自动提示的工程,点击+号,找到 Spring,将其添加可以。此时的配置文件就有了自动提示功能,包括后面的 yml 文件也有了自动提示。简单尝试运行工程后,查看日志文件可以看到端口号与应用的根的确发生的变化。

2020-09-22 21:50:07 313

原创 基于 war 的 Spring Boot 工程

基于 war 的 Spring Boot 工程Spring Boot 工程被打为了 Jar 包,以可执行文件的形式出现的,其原理是使用了 Spring Boot 内嵌的 Tomcat 作为 Web 服务器来运行 web 应用的。新版 Dubbo 的监控中心工程就是典型的应用。但在实际生产环境下,对于访问量不大的应用,直接以 Jar 包的形式出现,使用起来是非常方便的,不用部署了。但对于访问量较大的 Web 工程,我们不能使用 Tomcat,而要使用更为高效的商业 web 容器,例如 JBOSS、WebL

2020-09-22 20:54:11 323

原创 SpringBoot内置tomcat启动原理、以及SpringBoot初始化Servlet的源码分析

SpringBoot内置tomcat启动原理前言我们知道SpringBoot工程是可以被打成jar包,直接运行jar包启动的,那么为什么不用部署到web服务器也能够像web一样访问呢?其本质原因就是springBoot工程内嵌了一个tomcat,jar包方式启动以main方法作为入口执行代码的时候,底层启动了一个tomcat。内置tomcat依赖如果我们用springBoot开发web工程,通常都会导入如下依赖:<dependency> <groupId>org.s

2020-09-22 20:35:53 3598 3

原创 Spring Boot 快速入门

1. Spring Boot 简介  Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot 致力于在蓬勃发展的快速应用开发领域(rapidapplication development)成为领导者。  简单来说,SpringBoot 可以简化 Spring 应用程序的开发,使我们不再需要 Spring 配置文件及 we

2020-09-22 12:14:53 294

原创 Spring Boot 自定义Starter实现自动配置

Spring Boot 自定义 Starter前面的代码中,无论是 Spring Boot 中使用 Web、Test,还是 MyBatis、Dubbo,都是通过导入一个相应的 Starter 依赖,然后由 Spring Boot 自动配置完成的。那么,如果我们自己的某项功能也想通过自动配置的方式应用到 Spring Boot 中,为 Spring Boot 项目提供相应支持,需要怎样实现呢?同样,我们需要定义自己的 Starter。1. 手写 Starter1.1 需求下面我们自定义一个我们自己的

2020-09-21 22:11:41 598

原创 SpringBoot的application.yml配置文件加载流程分析

application.yml 的加载流程分析application.yml 文件对于 Spring Boot 来说是核心配置文件,至关重要,那么,该文件是如何加载到内存的呢?需要从启动类的 run()方法开始跟踪。1. 启动方法 run()跟踪@SpringBootApplicationpublic class Application { public static void main(String[] args) { SpringApplication.run(Appl

2020-09-21 22:05:06 1259

原创 Spring Boot 自动配置源码分析(举例:Spring Boot 与 Redis 的整合、MyBatis 与 Spring Boot 的整合)

1. 自动配置源码解析使用 Spring Boot 开发较之以前的基于 xml 配置式的开发,要简捷方便快速的多。而这完全得益于 Spring Boot 的自动配置。下面就通过源码阅读方式来分析自动配置的运行原理。1.1 解析@SpringBootApplication打开启动类的@SpringBootApplication 注解源码。我们发现@SpringBootApplication 注解其实就是一个组合注解。注解是 JDK5 中的新特性(2004 年),Spring 第一个版本是 2003

2020-09-21 21:51:21 194

原创 关于Web工程路径问题的探讨

Web工程路径问题基础理论路径的构成路径由两部分构成:资源路径与资源名称。即路径 = 资源路径 + 资源名称资源路径与资源名称的分水岭为:路径中的最后一个斜杠。斜杠的前面部分称为资源路径,后面部分称为资源名称。例如:请求路径:http://localhost:8080/xxx/test/index资源路径:http://localhost:8080/xxx/test资源名称:index路径的分类根据是否可以唯一的定位一个资源,可以将路径划分为两类:绝对路径与相对路径。绝对路径:可以

2020-09-21 21:11:15 231

原创 模板引擎 Thymeleaf 语法

模板引擎 Thymeleaf1. Thymeleaf 简介Thymeleaf[taɪm lif],百里香叶,是一个流行的模板引擎,该模板引擎采用 Java 语言开发。Java 中常见的模板引擎有 Velocity、Freemaker、Thymeleaf 等。不同的模板引擎都会具有自己的特定的标签体系,而 Thymeleaf 以 HTML 标签为载体,在 HTML 的标签下实现对数据的展示。Thymeleaf 本身与 SpringBoot 是没有关系的,但 SpringBoot 官方推荐使用 Thyme

2020-09-21 20:34:23 1453

原创 Kafka(三)知识梳理、常见面试题

Part1【知识点 01】请简述 Kafka 中 Broker、Topic、Partition 及 Segment 间的关系。【解答参考】Broker 指的就是 Kafka 集群中的一个节点,就是一台 Kafka 主机。  Broker 中可以存放很多的消息,消息需要分类,一类就是一个 Topic(主题),它是一个逻辑概念。  每一个主题的消息,存储时又划分为多个分区,各个分区尽可能均分存放在集群中各个borker中,所以broker存放消息都是以分区为单位的,所以分区是物理概念,对应到系统上就是一

2020-09-17 13:06:29 260

原创 Kafka(二)实战篇(集群搭建、客户端命令、日志查看、Kafka原生API、Spring Boot Kafka)

1. Kafka 集群搭建在生产环境中为了防止单点问题,Kafka 都是以集群方式出现的。下面要搭建一个 Kafka集群,包含三个 Kafka 主机,即三个 Broker。1.1 Kafka 的下载http://kafka.apache.org/downloads1.2 安装并配置第一台主机(1) 上传并解压将下载好的 Kafka 压缩包上传至 CentOS 虚拟机,并解压。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hqgOu9TY-160023879115

2020-09-16 22:55:04 2353

原创 Kafka(一)理论篇(概述、基本术语、工作原理与工作过程、消息路由、HW截断机制..)

1. 概述1.1 kafaka 简介Apache Kafka 是一个快速、可扩展的、高吞吐的、可容错的分布式“发布-订阅”消息系统,使用 Scala 与 Java 语言编写,能够将消息从一个端点传递到另一个端点,较之传统的消息中间件(例如 ActiveMQ、RabbitMQ),Kafka 具有高吞吐量、内置分区、支持消息副本和高容错的特性,非常适合大规模消息处理应用程序。Kafka 官网: http://kafka.apache.org/1.2 Kafa 系统架构老版架构图:新版架构图,因为

2020-09-16 19:48:13 1127 1

原创 Dubbo(十九)常见面试题、知识点总结

Part1【知识点 01】请简单描述一下 Dubbo 的两大设计原则。【解答】Dubbo 在设计时具有两大设计原则:“微内核+插件”的设计模式。内核只负责组装插件(扩展点),Dubbo 的功能都是由插件实现的,也就是 Dubbo 的所有功能点都可被用户自定义扩展类所替换。Dubbo 的高扩展性、开放性在这里被充分体现。采用 URL 作为配置信息的统一格式,所有扩展点都通过传递 URL 携带配置信息。简单来说就是,在 Dubbo 中,所有重要资源都是以 URL 的形式来描述的。【知识点 02】

2020-09-13 15:16:49 858

原创 Dubbo(十八)源码解析 之 负载均衡

负载均衡看源码主要看这几个问题:负载均衡策略什么时候获取到到负载均衡前的准备过程负载均衡四种策略解析1. 获取负载均衡策略负载均衡策略到获取,也是在消费者远程调用的过程中:org.apache.dubbo.rpc.proxy.InvokerInvocationHandler#invokeorg.apache.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker#invokeorg.apache.dubbo.rpc.cluster.su

2020-09-12 18:02:38 279

原创 Dubbo(十七)源码解析 之 集群容错

集群容错1. 如何配置容错策略2. 源码解析源码读哪些?容错实例在哪加载与创建的容错方案在哪触发的容错的各个策略的解析2.1 容错实例的加载与创建我们在跟服务订阅的时候其实看到过,从获取消费者开始:org.apache.dubbo.config.spring.ReferenceBean#getObjectorg.apache.dubbo.config.ReferenceConfig#getorg.apache.dubbo.config.ReferenceConfig#init

2020-09-12 16:46:24 946

原创 Dubbo(十六)源码解析 之 服务降级

服务降级Dubbo 中常见的服务降级设置有四种:mock=”force:return null” (return 666也行,不一定非要null)表示消费方对该服务的方法调用直接强制性返回 null 值,不发起远程调用,即使远程的提供者没有出现问题。用来屏蔽不重要服务。mock=”fail:return null” 表示消费方对该服务的方法调用在失败后,再返回 null 值,不抛异常。用来容忍不重要服务不稳定时的影响。mock=”true”表示消费方对该服务的方法调用在失败后,会调用消费方定义的服

2020-09-12 16:23:10 364

原创 Dubbo(十五)源码解析 之 服务路由

服务路由源码解析1. 什么是服务路由服务路由包含一条(或若干条)路由规则,路由规则决定了服务消费者的调用目标,即规定了服务消费者可调用哪些服务提供者。Dubbo 目前提供了三种服务路由实现,分别为条件路由ConditionRouter、脚本路由 ScriptRouter 和标签路由 TagRouter。其中条件路由是我们最常使用的。下面将以条件路由为例来讲解服务路由的用法。2. 路由规则的设置路由规则是在 Dubbo 管控平台 Dubbo-Admin 中的。(1) 启动管控平台A、启动管控台

2020-09-12 16:00:28 865

原创 Dubbo(十四)源码解析 之 远程调用

远程调用无非三个流程消费者向提供者发起请求提供者处理消费者请求消费者处理提供者响应

2020-09-12 14:27:07 1544

原创 Dubbo(十三)源码解析 之 服务订阅

源码解析 之 服务订阅1. 查找服务订阅的入口以DEMO中的启动类入口追踪流程:public class ConsumerApplication { public static void main(String[] args) { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring/dubbo-consumer.xml"); context.s

2020-09-10 20:03:14 735

原创 Dubbo(十二)源码解析 之 服务发布

源码解析 之 服务发布1. 查找服务发布的入口之前已经分析过标签解析了,现在我们看下这个标签解析后封装的类:public class ServiceBean<T> extends ServiceConfig<T> implements InitializingBean, DisposableBean, ApplicationContextAware, ApplicationListener<ContextRefreshedEvent>, BeanNameAware

2020-09-09 18:19:10 623

原创 Dubbo(十一)源码分析(Dubbo 与 Spring 整合、重要接口介绍)

Dubbo 的源码解析内核源码已经分析过了,接下来分析的所有Dubbo源码都是基于内核之上的。1. Dubbo 与 Spring 整合这里以Dubbo的org.apache.dubbo.container.Main#main开始分析:public class Main { ... public static final String CONTAINER_KEY = "dubbo.container"; private static final ExtensionLoader&l.

2020-09-08 17:03:18 547

原创 Dubbo(十)内核源码解析(Dubbo的AOP源码解析、Dubbo的动态编译Compile源码解析)

1. Dubbo 的 AOP 源码解析Dubbo 的 AOP 是对 SPI 扩展类进行增强的方式,而 Wrapper 机制就是对 SPI 扩展类的增强。不同 SPI 的不同 Wrapper,其增强的功能不同。为了方便大家的理解,我们就以前面在学习“Wrapper 机制”时写的代码 15-wrapper 为例进行源码解析,来查看扩展类是如何被包装起来的。1.1 找到 AOP 源码META-INF/dubbo/internal/com.abc.spi.Orderalipay=com.abc.spi.ex

2020-09-08 15:53:17 532

原创 Dubbo(九)内核源码解析(DubboSPI源码解析、Dubbo的IoC源码解析)

1. Dubbo 的 SPI 源码解析我们可以直接运行源码中的dubbo-demo模块进行断点调试,只需要修改对应的注册中心地址即可。下面以 Protocol 的获取过程为例来解析 SPI 的执行过程。入口就在org.apache.dubbo.config.ServiceConfig(该类后面讲Dubbo和Spring整合、注册到注册中心到时候会重点讲,现在只要知道有这么个类就好了)public class ServiceConfig<T> extends AbstractSer

2020-09-07 22:18:05 557

原创 Dubbo(八)内核解析(DubboSPI机制、Adaptive机制、Wrapper机制、Activate机制)

Dubbo 的内核解析所谓 Dubbo 的内核是指,Dubbo 中所有功能都是基于它之上完成的,都是由它作为基础的。Dubbo 内核的工作原理由四部分构成:服务发现机制 SPI、自适应机制 Adaptive、包装机制 Wrapper 与激活机制 Activate。Dubbo 通过这四种机制实现了对插件的 IoC、AOP,实现了对自动生成类的动态编译 Compile。1. JDK 的 SPI 机制1.1 简介SPI,Service Provider Interface,服务提供者接口,是一种

2020-09-06 17:03:57 1481

原创 Dubbo(七)系统架构解析(两大设计原则、三大领域模型、四大组件、十层架构图、Dubbo源码架构)

Dubbo的系统架构解析1. Dubbo 的两大设计原则Dubbo 框架在设计时遵循了两大设计原则:Dubbo 使用“微内核+插件”的设计模式。内核只负责组装插件(扩展点),Dubbo 的功能都是由插件实现的,也就是 Dubbo 的所有功能点都可被用户自定义扩展类所替换。采用 URL 作为配置信息的统一格式,所有扩展点都通过传递 URL 携带配置信息。URL:协议://IP地址:端口/服务名/各种元数据信息...为什么dubbo用url不用json?个人理解,dubbo的应用场景涉及各

2020-09-06 15:15:41 1413 1

原创 Dubbo(六)高级配置(Spring Boot 中使用 Dubbo、generic 泛化服务/泛化引用、属性配置优先级、配置建议)

1. Spring Boot 中使用 Dubbo高并发下Redis会出现的问题:缓存穿透、缓存雪崩、热点缓存本节还会演示一下双重检查锁机制1.1 定义 commons 工程 11-dubboCommons(1) 创建工程这里就创建一个普通的 Maven 的 Java 工程,并命名为 11-dubboCommons。(2) 定义 pom 文件<groupId>com.abc</groupId><artifactId>11-dubboCommons</

2020-09-06 12:50:33 1558

原创 Dubbo(五)高级配置(多注册中心、单功能注册中心、服务暴露延迟、消费者的异步调用、提供者的异步执行)

1. 多注册中心1.1 创建提供者 08-provider-registers(1) 创建工程直接复制 05-provider-group 工程,并命名为 08-provider-registers。(2) 修改配置文件同一个服务注册到不同的中心,使用逗号进行分隔。<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xml

2020-09-06 12:13:15 872

原创 Dubbo(四)高级配置(集群容错、服务降级、服务调用超时、服务限流、声明式缓存)

1. 集群容错集群容错指的是,当消费者调用提供者集群时发生异常的处理方案。1.1 Dubbo 内置的容错策略Dubbo 内置了 6 种集群容错策略。(1) Failover故障转移策略。当消费者调用提供者集群中的某个服务器失败时,其会自动尝试着调用其它服务器。该策略通常用于读操作,例如,消费者要通过提供者从 DB 中读取某数据。但重试会带来服务延迟。(2) Failfast快速失败策略。消费者端只发起一次调用,若失败则立即报错。通常用于非幂等性的写操作,比如新增记录。幂等:在编程中一个幂等

2020-09-06 11:38:38 924

原创 Dubbo(三)高级配置(关闭服务检查、多版本控制、服务分组、多协议支持、负载均衡)

高级配置1. 关闭服务检查1.1 搭建测试环境修改工程 02-consumer-zk:A、修改 ConsumerRun 类将对消费者方法的调用语句注释掉,使消费者暂时不调用消费者方法。(同时不启动提供者端)public class ConsumerRun { public static void main(String[] args) { ApplicationContext ac = new ClassPathXmlApplicati

2020-09-05 18:12:06 1257

原创 Dubbo(二)入门(第一个 Dubbo 程序(直连式)、Zookeeper 注册中心、将 Dubbo 应用到 web 工程、Dubbo 管理控制台)

dubbo入门1. 第一个 Dubbo 程序(直连式)1.1 创建业务接口工程 00-api业务接口名即服务名称。无论是服务提供者向服务注册中心注册服务,还是服务消费者从注册中心索取服务,都是通过接口名称进行注册与查找的。即,提供者与消费者都依赖于业务接口。所以,一般情况下,会将业务接口专门定义为一个工程,让提供者与消费者依赖。(1) 创建 Maven 的 Java 工程(2) 创建业务接口/** * 业务接口 */public interface SomeService { S

2020-09-05 17:08:21 417

原创 Dubbo(一)概述(分布式架构图、系统架构的发展、架构师基本素养、Dubbo简介、Dubbo四大组件、Dubbo版本号问题)

Dubbo概述。1. 分布式架构图2. 系统架构的发展2.1 单体系统架构当站点功能与流量都很小时,只需一个应用,将所有功能都集中在一个工程中,并部署在一台服务器上,以减少部署节点和成本。例如,将用户模块、订单模块、支付模块等都做在一个工程中,以一个应用的形式部署在一台服务器上。2.2 集群架构当站点流量增加而单机已无法应对其访问量时,可通过搭建集群增加主机的方式提升系统的性能。这种方式称为水平扩展。2.3 分布式架构当访问量逐渐增大,集群架构的水平扩展所带来的效率提升越来越小。此时

2020-09-05 15:51:31 767 1

Mysql超详细知识梳理-分库分表篇-思维导图.xmind

对应企业开发的Mysql知识梳理

2021-02-21

Mysql超详细知识梳理-集群篇-思维导图.xmind

对应企业开发的Mysql知识梳理

2021-02-21

Mysql超详细知识梳理-性能优化篇-思维导图.xmind

对应企业开发的Mysql知识梳理

2021-02-21

Mysql超详细知识梳理-锁篇-思维导图.xmind

对应企业开发的Mysql知识梳理

2021-02-21

Mysql超详细知识梳理-索引篇-思维导图.xmind

对应企业开发的Mysql知识梳理

2021-02-21

Mysql超详细知识梳理-事务篇-思维导图.xmind

对应企业开发的Mysql知识梳理

2021-02-21

Mysql超详细知识梳理-架构篇-思维导图.xmind

对应企业开发的Mysql知识梳理

2021-02-21

Sharding JDBC.xmind

官方网站:http://shardingsphere.apache.org/index_zh.html 该思维导图主要是对Sharding JDBC的实现原理进行了整理,包括ShardingJDBC的架构、核心概念、内核剖析等,也是从官方学习的,直接看官方其实就可以了。

2020-06-09

SpringBean的生命周期.mdj

SpringBean的生命周期.mdj

2020-06-09

动态代理.xmind

该思维导图主要讲解了代理模式的具体实现,包括jdk代理,cglib代理。其中jdk代理主要讲解了其具体的实现方式、原理、缺点、缓存机制等。Cglib代理主要讲解了其原理、与JDK代理的对比、Enhancer源码解析、methodProxy和Fastclass源码等。

2020-06-09

Spring原理篇.xmind

该思维导图是对Spring框架原理的一个知识讲解,很详细,源码都扣出来了,该文件也挺大的,每个知识点都一步一步截图了。 包括内容:Spring体系结构、Spring重要接口讲解(BeanFactory继承体系、BeanDefinition继承体系、ApplicationContext继承体系)、IOC/DI(容器初始化流源码分析)、AOP原理(解析流程,代理流程,执行流程)、事务(解析流程、执行流程)。

2020-06-09

设计模式.xmind

该思维导图主要是对设计模式的知识进行了一个整体的复习和归纳,包括如下几个大模块:类之间关系,7大设计原则,创建型设计模式,结构性设计模式,行为型设计模式(待完善),每个模块又具体了分析了各个设计模式的思想,实现方式,底层原理等。

2020-06-09

mybatis原理.xmind

该思维导图主要是对MyBatis原理知识进行了整理,通过对底层的分析,能够实现手写一个实现核心功能的简单MyBats,内容包括MyBatis整体架构和流程的分析、SQL的解析过程、手写解析流程、手写执行流程、看源码、MyBatis中使用了哪些设计模式等。

2020-06-09

MyBatis应用.xmind

本思维导图主要是关于MyBatis应用相关的知识梳理,包括MyBatis实现CRUD操作、MyBatis开发DAO的两种方式、全局配置文件SqlMapConfig.xml、输入类型结果类型、连接池和事务控制、动态SQL、复杂查询、延迟加载策略、缓存、注解开发等多个方面。

2020-06-09

java类加载机制.xmind

该文件是JVM中关于类加载机制的知识整理的思维导图,包括类加载机制概述、类加载的生命周期、加载时机、加载过程、类加载、类的初始化和实例化等几个大方面进行了讲解,其中类加载中还对JVM三种预定义类加载器进行了讲解,包括双亲委派机制,违背双亲委派模型,开发自己的类加载器等等

2020-06-09

Schema 语法.xmind

很多JAVA框架,都会用XML文件作为配置文件,而XML文件往往对元素都有严格的定义,这个时候就需要对xml进行约束,用的最多的就是XML Schema。本文件是对XML Schema语法学习整理的思维导图,包括如果定义和使用schema文件,shcema语法中的简单类型、复杂类型的定义和使用等。

2020-06-09

Spring应用篇.xmind

主要梳理了Spring的基础和高级应用的知识,包括整个Spring的体系结构介绍、IOC,DI配置使用,包括纯XML,注解和XML混合,纯注解三种配置方式,还有Spring的AOP,整个Junnit,事务等知识点的梳理。

2020-06-09

MySQL.xmind

学习Mysql整理复习的思维导图,涵盖Web开发程序员需要掌握的大部分关于Mysql的知识,从基础篇,架构篇,索引篇,锁和事务篇,性能分析优化篇,集群分库分表篇等深入理解Mysql数据库的底层原理。

2020-05-21

空空如也

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

TA关注的人

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