1 沈霆盛

学生身份

我要认证

欢迎互关,一起学习,共同进步

等级
TA的排名 2w+

System.exit(0) 与 System.exit(1) 在运行上有何区别

疑问看到很多博客上说,System.exit(status) ,status 为 0 就是正常退出,status 为 1 是非正常退出。真的是这样吗?代码测试public class Test { public static void main(String[] args) { try{ throw new RuntimeException(); }catch (Exception e){ System.exit

2020-06-01 09:16:45

常见面试题:交换 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

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

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

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

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

2020-05-20 13:17:04

开发必备: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

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

目录整合 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

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

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

Mybatis 插件开发与责任链模式

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

2020-05-08 13:26:25

Spring 整合 Mybatis 与源码分析

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

2020-05-07 15:46:04

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

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

2020-05-07 12:12:51

Mybatis 里的 Configuration 储存了什么

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

2020-05-05 16:40:40

Admin 的使用

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

2020-05-05 14:19:31

Zuul 服务网关的搭建

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

2020-05-05 11:39:24

SpringCloud 分布式配置中心搭建

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

2020-05-04 19:26:20

Mybatis 的初始化与建造者模式

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

2020-05-04 10:54:46

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

Mybatis 的 CacheKey

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

2020-05-02 12:05:56

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

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

2020-05-01 21:57:00

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证
    技术圈认证
    用户完成年度认证,即可获得
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力探索
    原力探索
    参与《原力计划【第二季】——打卡挑战》的文章入选【每日精选】的博主将会获得此勋章。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。