自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

日有寸进

世上只有一种英雄主义,就是在认清生活真相之后依然热爱生活。

  • 博客(21)
  • 资源 (1)

原创 常见面试题:交换 Integer
原力计划

目录代码知识点值传递与引用传递Integer 的 value 和 IntegerCachevalueIntegerCache反射图解代码import java.lang.reflect.Field;public class Test { public static void main(String[] args) throws Exception { Integer a = 1, b = 2; swap(a ,b); System.out.pr

2020-05-29 21:53:40 70

原创 MySQL 主从复制架构

目录主从复制结构Replication 机制配置MySQL 的 Docker 安装分别配置 my.conf主从登录 MySQL主赋权限查看日志文件位置和位置从设置主机启动 IO 进程和 SQL 进程查看进程信息主从验证主从复制结构在实际应用场景中,MySQL 复制 90% 以上都是一个 Master 复制到一个或者多个Slave 的架构模式缺点:1、master不能停机,停机就不能接收写请求2、slave过多会出现延迟Replication 机制配置不用 Docker 也行,分别在两台虚

2020-05-29 12:49:18 100

原创 CentOS7 下 Docker 安装

卸载yum list installed | grep docker查询到相关的,通通用以下方式卸载yum -y remove docker-engine.x86_64cd /etc/yum.repos.d/删除 docker.repo 等与 docker 有关的安装cd /etc/yum.repos.d/wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoyum clean all &&a

2020-05-24 14:15:54 120

原创 分布式事务之 LCN 框架实现方案的原理、配置与使用
原力计划

目录LCN 原理背景框架定位事务控制原理原理图配置依赖配置启动类配置使用服务提供方服务发现方TCC 原理思想原理图使用服务提供方LCN 原理背景LCN 名称是由早期版本的 LCN 框架命名,在设计框架之初的1.0~2.0的版本时框架设计的步骤是如下,各取其首字母得来的 LCN 命名。锁定事务单元(Lock)确认事务模块状态( Confirm)通知事务( Notify)框架定位LCN 并不生产事务,LCN 只是本地事务的协调工。TX-LCN 定位于一款事务协调性框架,框架其本身并不操作事

2020-05-20 13:17:04 182

原创 开发必备:MD5 加密工具、非空判断工具

目录MD5 加密工具非空判断工具MD5 加密工具public class MD5Util { public static String encrypt(String source) { return encodeMd5(source.getBytes()); } private static String encodeMd5(byte[] source) { try { return encodeHex(MessageD

2020-05-10 15:38:52 43

原创 开发必备:响应封装、异常封装、异常捕获

目录整合 fastjson响应封装异常封装Service 层业务异常数据异常Controller 层参数验证异常异常捕获整合 fastjson让返回的 json 更漂亮SpringBoot 整合 fastjson响应封装@Datapublic final class BaseResponseVO<M> { private BaseResponseVO(){} // 返回状态【0-成功,1-业务失败,999-表示系统异常】 private int statu

2020-05-10 13:25:07 97

原创 SpringBoot 整合 fastjson

依赖配置<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.56</version></dependency>配置类配置@Configuration("defaultFastjsonConfig")@ConditionalOnClass(com.al

2020-05-10 12:43:25 113

原创 SpringBoot 整合 mybatis-plus

步骤一pom.xml 依赖配置<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.1.0</version></dependency><dependency> <groupId>mysql&

2020-05-09 21:45:20 58

原创 Mybatis 插件开发与责任链模式
原力计划

概述插件是用来改变或者扩展 Mybatis 的原有的功能,Mybatis 的插件就是通过继承 Interceptor 拦截器实现的。在没有完全理解插件之前禁止使用插件对 Mybatis 进行扩展,又可能会导致严重的问题。Mybatis 中能使用插件进行拦截的接口和方法如下:Executor(update、query 、 flushStatment 、 commit 、 rollback...

2020-05-08 13:26:25 80

原创 Spring 整合 Mybatis 与源码分析

目录配置依赖配置配置文件配置源码SqlSessionFactoryBeanMapperScannerConfigurer配置依赖配置pom.xml<!-- mysql驱动 --><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java<...

2020-05-07 15:46:04 65

原创 面试官:为什么使用 Mapper 接口就能对数据库进行访问?
原力计划

目录宏观理解源码验证MapperRegistryMapperProxyFactoryMapperProxyMapperMethod宏观理解拿到的 mapper 其实是一个代理对象,底层调用的是 SqlSession 的方法,SqlSession 的方法里其实调用的 Executor 的方法。源码验证跟 getMapper:类 SqlSession @Override publ...

2020-05-07 12:12:51 281 2

原创 Mybatis 里的 Configuration 储存了什么

目录Configuration 的重要性重要属性Configuration 的重要性Mybatis 启动初始化的核心就是将所有 xml 配置文件信息加载到 Configuration 对象中, Configuration是单例的,生命周期是应用级的。重要属性 protected Environment environment; //下面2个是反射模块要用到的 /*MyBati...

2020-05-05 16:40:40 78

原创 Admin 的使用

目录简介配置依赖配置启动类配置配置文件配置配置类配置监控界面简介Admin 把 Actuator 统计的数据进行展示,可以很好的监控整个微服务系统中的实例运行情况信息。所有想要监控的微服务都得依赖 Actuator<dependency> <groupId>org.springframework.boot</groupId> <a...

2020-05-05 14:19:31 56

原创 Zuul 服务网关的搭建

Zuul 简介Zuul 是分布式 SpringCloud 项目的流量入口,理论上所有进入到微服务系统的请求都要经过 Zuul 来过滤和路由。配置依赖配置<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-start...

2020-05-05 11:39:24 124

原创 SpringCloud 分布式配置中心搭建

服务端配置配置中心单独作为一个服务依赖配置<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> &lt...

2020-05-04 19:26:20 99

原创 Mybatis 的初始化与建造者模式

目录建造者模式结构角色使用场景与工厂模式的区别建造者模式在Mybatis里的应用Mybatis 的初始化入口XMLConfigBuilderXMLMapperBuilderMapperBuilderAssistant建造者模式建造者模式(Builder Pattern)指的是将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。它使用多个简单的对象一步一步构建成一个复杂的对象。...

2020-05-04 10:54:46 89

原创 CachingExecutor 和 BaseExecutor 里的 query

CachingExecutor @Override public <E> List<E> query(MappedStatement ms, Object parameterObject, RowBounds rowBounds, ResultHandler resultHandler) throws SQLException { //获取sql语句信息,包括占位...

2020-05-02 14:48:38 109

原创 Mybatis 的 CacheKey

前置文章Mybatis 的一级缓存与二级缓存结合 Mybatis 的 cache 包源码理解装饰器模式CacheKey 是干嘛的简单的说就是 cache 的 key 值,如下图MyBatis 中涉及到动态 SQL 的原因,缓存项的 key 不能仅仅通过一个 String 来表示,所以通过CacheKey 来封装缓存的 key 值,CacheKey 可以封装多个影响缓存项的因素nam...

2020-05-02 12:05:56 138

原创 结合 Mybatis 的 cache 包源码理解装饰器模式

目录装饰器模式结构角色优势cache 包里的装饰器模式抽象构件 Cache具体构件 PerpetualCache具体装饰 BlockingCache装饰器模式装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,是一种用于代替继承的技术,无需通过继承增加子类就能扩展对象的新功能。使用对象的关联关系代替继承关系,更加灵活,同时避免类型体系的快速膨胀。结构角色...

2020-05-01 21:57:00 103

原创 Mybatis 的获取连接与回收连接:popConnection 与 pushConnection

目录PooledConnectionPollStatePooledDataSourcepopConnection获取连接流程图pushConnection回收连接流程图PooledConnectionclass PooledConnection implements InvocationHandler { private static final String CLOSE = "clo...

2020-05-01 17:55:44 253

原创 Mybatis datasource 包里的工厂模式

结构图如图所示,UnpooledDataSourceFactory 生产 UnpooledDataSource,PooledDataSourceFactory 生产 PooledDataSource;UnpooledDataSourceFactory 和 PooledDataSourceFactory 实现了 DataSourceFactory 接口,UnpooledDataSource 和 ...

2020-05-01 10:58:00 75

mysql-5.7.9-linux-glibc2.5-x86_64.tar.gz

Linux 使用的版本是centos 7,为方便起见,先把防火墙关闭,配置好网络,在安装部分,会分成两部分讲,首先讲单实例安装,也就是一台服务器上就装一个mysql,接下来就多实例安装,在一个服务器上安装2个甚至多个mysql.

2019-09-17

空空如也

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