自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(109)
  • 资源 (1)
  • 收藏
  • 关注

原创 git 盘点各种失误操作解决方法

文章目录一、commit 之后发现提交中包含的文件不对1.1 场景说明1.2 解决方法1.3 注意事项二、commit 之后没有 push 想要修改 commit 的注释信息2.1 场景说明2.2 解决方法一、commit 之后发现提交中包含的文件不对1.1 场景说明我们对 A文件和 B文件进行了修改,然后我们想对 A文件的修改进行一次提交。但是我们在git add 的时候把 B文件也添加上了,这就导致这次提交把 A、B两个文件的修改都提交了。假设我们的提交记录如下提交2 对A文件进行修改提交1

2020-12-23 10:54:49 388

原创 分布式事务解决方案

2PC、TCC、最大努力通知、可靠消息、最终一致性

2022-11-20 11:21:02 888 1

原创 Fiddler 安装及使用教程(移动端 App 抓包)

文章目录下载及安装配置 https下载及安装官网地址:https://www.telerik.com/fiddler点击 try for free 选择 Fiddler Classic填写相关信息然后点击下载 ,安装过程跳过运行 Fiddler 界面如下所示配置 https首次勾选 Decrypt HTTPS traffic 时就会弹出如下图所示的弹窗询问是否要信任该证书,一直确定就可以导出证书...

2022-10-31 17:37:00 692

原创 SpringBoot JPA 使用教程

文章目录1. 简介2. 常用注解2.1 @Entity2.2 @Table2.3 @Id 、@GeneratedValue、@SequenceGenerator、@Column2.3.1 @Id2.3.2 @GeneratedValue2.3.3 @SequenceGenerator2.3.4 @Column2.4 @Transient2.5 @Temproal3. EntityManagerFactory1. 简介Jpa 是一套ORM 的规范hibernate 不就是一个 ORM 框架也提供了对于

2022-05-02 01:37:02 3887

原创 chrome 浏览器插件推荐

1. 沙拉查词-聚合词典划词翻译2. 扩展管理器(Extension Manager)3. Table of contents sidebar4. OneTab5. Octotree - GitHub code tree6. FeHelper(前端助手)7. Adblock Plus - 免费的广告拦截器

2022-04-21 10:04:36 163

原创 Java IO流

Java IO流文章目录Java IO流一、节点流1. 字节流字节输入流字节输出流2. 字符流字符输入流字符输出流二、包装流(装饰器设计模式)1. 输入流包装2. 输出流包装三、转换流1. 字节输入流转字符输入流2. 字节输出流转字符输出流四、注意一、节点流1. 字节流字节流主要用于处理二进制的文件,如图片、音频、视频、doc、pdf字节输入流父类:InputStream子类:FileInputStream …字节输出流父类:OutputStream子类:FileOutputStream

2022-03-02 10:31:50 192

原创 RabbitMq 从入门到高级

文章目录1. MQ的作用1.1 流量削峰1.2 应用解耦1.3 异步处理2. 四大核心2.1 生产者2.2 交换机2.3 队列2.4 消费者3. 工作队列3.1 开启手动应答3.2 消息重新入队4. 队列持久化5. 消息持久化6. 消息不公平分发7. 发布确认7.1 单个确认发布7.2 批量确认发布7.3 异步确认发布8. 交换机8.1 funout (广播)8.2 direct (精准匹配)8.3 topic (通配符)9. 死信队列9.1 死信来源10. 延迟队列10.1 基于死信队列实现10.2 基于

2022-02-21 21:44:45 975

原创 Redis 从入门到高级

文章目录1. Redis2. 基本数据类型2.1 String2.2 list2.3 set2.4 zset2.5 hash3. 特殊数据类型3.1 Geospatial3.2 Bitmaps3.3 HyperLogLog4. 发布订阅1. Redis底层原理:单线程+多路IO复用2. 基本数据类型2.1 String2.2 list2.3 set2.4 zset2.5 hash3. 特殊数据类型3.1 Geospatial3.2 Bitmaps签到、记录用户每天是否活跃3.3

2022-02-19 00:22:48 661

原创 Mysql 高级特性

文章目录1. 字符集1.1 服务器级别1.2 数据库级别1.3 表级别1.4 列级别1.5 utf8 和 utf8mb42. sql_mode2.1 宽松模式2.2 严格模式3. linux 数据库目录结构3.1 数据库文件存储路径3.2 数据库命令路径3.3 数据库配置文件4. 默认数据库 mysql5. 权限控制5.1 权限表5.2 角色管理6. Mysql 逻辑架构7. SQL 执行过程8. 缓冲池9. 存储引擎9.1 InnoDB 和 MyISAM 对比1. 字符集以下四个级别自上而下,下层级

2022-02-16 17:00:11 849

原创 idea git窗口中没有Local Changes 解决方法

只需要在设置中,将下图所示选项取消勾选即可

2022-02-08 15:37:59 4087

原创 Mysql 基础重点

文章目录1. 基本的查询2. 运算符3. 多表查询4. 常用函数4.1 字符函数4.2 流程控制函数4.3 聚合函数5. SQL 执行流程6. 子查询6.1 分类角度一:单行子查询、多行子查询1. 单行子查询2. 多行子查询6.2 分类角度二:相关子查询、不相关子查询1. 相关子查询2. 不相关查询7. 创建表1. 根据现有表创建一个新表并复制数据2. 根据现有表创建一个新表不复制数据8. 管理表8.1 增、删、改、重命名表字段8.2 重命名表8.3 删除表8.3.1 5.7 版本8.3.2 8.0 版本8

2022-02-02 10:31:06 1131

原创 人大金仓关闭表的外键约束检查

有时我们需要批量向数据库中导入数据,这时如果存在外键约束,就需要注意导入数据的先后顺序,变的很繁琐。这时我们可以暂时关闭外键约束检查,注意并不是删除外键,使得数据可以正常导入,导入后再恢复外键约束检查。-- 关闭外键约束检查ALTER TABLE 表名 DISABLE TRIGGER ALL;-- 开启外键约束检查ALTER TABLE 表名 ENABLE TRIGGER ALL;...

2022-01-25 16:42:15 1366

原创 达梦数据库开启允许对自增列赋值

-- 允许对自增列赋值SET IDENTITY_INSERT 表名 ON;-- 不允许对自增列赋值SET IDENTITY_INSERT 表名 OFF;注意: DM 要求一个会话连接中只有一个表的 IDENTITY_INSERT 属性可以设置为 ON,当设置一个新的表 IDENTITY_INSERT 属性设置为 ON 时,之前已经设置为 ON 的表会自动还原为 OFF。当一个连接结束,IDENTITY_INSERT 属性将被自动还原为 OFF...

2022-01-25 16:38:04 3310

原创 达梦数据库查询数据库中存在自增列的所有表名

SELECT DISTINCT ALL_TABLES.TABLE_NAME, ALL_TABLES.OWNERFROM SYSCOLUMNS,ALL_TABLES,SYSOBJECTS WHERE SYSCOLUMNS.INFO2 & 0x01 = 0x01 AND SYSCOLUMNS.ID = SYSOBJECTS.ID AND SYSOBJECTS.NAME = ALL_TABLES.TABLE_NAME -- 下面的用户名改成你的用户名,不加的话系统表中的约束也会查出来AND A

2022-01-25 16:27:35 1476

原创 达梦数据库查询数据库中所有的外键约束并关闭

SELECT ALL_CONS_COLUMNS.TABLE_NAME, ALL_CONS_COLUMNS.CONSTRAINT_NAME, ALL_CONS_COLUMNS.OWNERFROM SYSCONS, SYSOBJECTS, ALL_CONS_COLUMNS WHERE SYSCONS.id=SYSOBJECTS.id --'F'代表外键,'P'代表主键,'U'唯一索引AND SYSCONS.TYPE$='F' AND SYSOBJECTS.name=ALL_CONS_COLUMNS.C

2022-01-25 16:24:29 6147 4

原创 IDEA Java程序启动添加参数 VM options、Program arguments、Program arguments

文章目录Run Configuration1. VM options1.1 添加方法1.2 获取方法2. Program arguments2.1 添加方法2.2 获取方法3. Environment variables3.1 添加方法13.2 添加方法23.3 获取方法Run Configuration启动可以添加的参数主要就是以下三类1. VM options1.1 添加方法// -D开头 + 参数名 = 参数值// = 两侧没有空格// 不同参数之间空格分隔// 如下所示我们增加两个

2022-01-25 10:38:28 4696

原创 centos7 安装 Kingbase V8R3(.iso安装包)

本次安装文件KingbaseES_V008R003C002B0340_Lin64_install.iso安装步骤1. 上传安装包上传KingbaseES_V008R003C002B0340_Lin64_install.iso 到 /home2. 创建数据库用户# 创建kingbase用户useradd kingbase# 修改kingbase的登录密码useradd kingbase# 输入密码、确认密码...# 赋予kingbase用户执行安装包的权限chown -R kin.

2022-01-22 11:45:22 3567

原创 Java Map<String,Object> 接收 Long 类型数据变为 Integer 类型,强转 Long 报错

文章目录1. 包装类型不能直接强转2. 正确的转换方式2.1 int 转 long2.2 long 转 int2.3 Integer 转 Long2.4 Long 转 Integer3. Map 存入 Long 变为 Integer 的原因4. 解决强转 Long 报错问题1. 包装类型不能直接强转// 强转会报如下错误// class java.lang.Integer cannot be cast to class java.lang.Long Integer number = 10;// 这

2022-01-14 16:32:39 4854 1

原创 Java反射机制

文章目录Java 反射前期准备1. 反射创建对象方法一:使用class对象创建方法二:使用 public 构造器创建方法三:使用 private 构造器创建2. 反射获取类构造器3. 反射获取字段3.1 获取 public 字段3.2 获取 private 字段3.3 获取静态字段4. 反射执行类方法4.1 执行 public 方法4.2 执行 private 方法4.3 执行静态方法Java 反射反射可以在不修改源代码的情况下,通过配置文件动态控制程序的运行前期准备先准备一个 Person 类

2022-01-06 22:54:40 282

原创 【AOP顺序—Spring4对比Spring5】

文章目录1. AOP 执行顺序对比1.1 Spring41.1.1 正常情况1.1.2 异常情况1.2 Spring51.2.1 正常情况1.2.2 异常情况1. AOP 执行顺序对比1.1 Spring4Spring4 对应 SpringBoot 的版本就是 1.X1.1.1 正常情况@Around环绕之前@Before方法调用…@Around环绕之后@After@AfterReturning1.1.2 异常情况@Around环绕之前@Before方法调用…@Aft

2021-12-26 17:31:18 461

原创 【SpringBoot2—Bean生命周期管理】

文章目录1. Bean生命周期1.1 @Bean注解指定初始化和销毁方法1.2 实现 InitializingBean、DisposableBean接口1.3 使用注解@PostConstruct 、@PreDestory1.4 实现 BeanPostProcessor 接口1. Bean生命周期1.1 @Bean注解指定初始化和销毁方法// 使用方法: 利用@Bean的 initMethod 和 destroyMethod 属性指定相应方法的名称@Bean(initMethod = "initMe

2021-12-26 16:59:58 373

原创 JUC—Lock锁

文章目录一、Lock二、ReentrantLock用法三、 Lock 锁和 Synchronized 的区别四、 传统 Synchronized 生产者和消费者问题五、Lock 和 Condition 生产者消费者问题六、Condition 精准唤醒七、一、LockLock 是一个接口,主要实现类包括:ReentrantLock 可重入锁(常用)ReentrantReadWriteLock.ReadLock 读锁ReentrantReadWriteLock.WriteLock 写锁二、Ree

2021-12-16 09:24:56 191

原创 【SpringBoot2—Web异常处理源码解析】

文章目录源码解析1. 异常处理源码解析源码解析版本信息:SpringBoot 2.6.11. 异常处理源码解析

2021-12-16 00:12:50 678

原创 【SpringBoot2—Web拦截器源码解析】

文章目录源码解析1. 拦截器源码解析1.1 测试 controller 编写1.2源码解析版本信息:SpringBoot 2.6.11. 拦截器源码解析1.1 测试 controller 编写@RestController@Slf4jpublic class TestController { @GetMapping("/user/{id}") public User user(@PathVariable Integer id) { log.info("查询用户

2021-12-14 22:40:25 105

原创 【SpringBoot2—Web请求返回值处理源码解析】

文章目录源码解析1. 返回值处理源码解析源码解析版本信息:SpringBoot 2.6.1每一部分的最后,我都放了所有断点信息的截图,只要你跟着debug下来,相信你一定收获满满1. 返回值处理源码解析

2021-12-13 23:52:09 676

原创 【SpringBoot2—Web请求处理源码解析】

文章目录源码解析1. 请求映射原理1.1 发送过来的请求是如何找到处理方法的1.2 请求映射到相应的处理方法2. 请求参数处理原理源码解析版本信息:SpringBoot 2.6.11. 请求映射原理1.1 发送过来的请求是如何找到处理方法的我们只需要在 @RestController 中通过@xxxMapping 注解 SpringBoot就可以自动帮我们找到处理请求的方法,接下来我们就来深入源码看看是怎么做到的处理请求的方法:doDispatch()org.springframework

2021-12-12 18:53:22 450

原创 【SpringBoot2—静态资源访问】

文章目录静态资源1. 静态资源路径2. 修改静态资源访问前缀3. 自定义静态资源路径4. 欢迎页 index.html5. 自定义网站图标6. 源码解析6.1 默认静态资源路径配置6.2 为什么配置了静态资源前缀,欢迎页访问会失效静态资源版本信息:SpringBoot 2.6.1官方文档1. 静态资源路径classpath路径下(也就是 src/main/recources)/static/public/resources/META-INF/resources放在以上四个目录下的静

2021-12-05 17:02:07 876

原创 【SpringBoot2—配置文件加载】

文章目录配置文件加载1. profile 多环境适配1.1 默认情况1.2 创建不同环境的配置文件1.3 激活指定环境的配置文件1.4 总结2. @Profile 条件装配3. 配置文件读取路径4. 配置文件的读取顺序配置文件加载版本信息:SpringBoot 2.6.11. profile 多环境适配1.1 默认情况默认读取 application.yaml 和 application.properties 配置文件1.2 创建不同环境的配置文件application-{env}.yaml,

2021-12-05 15:06:01 688

原创 【SpringBoot2—自动配置原理】

文章目录自动配置源码分析1. 依赖自动版本仲裁2. IOC容器2.1 添加组件2.2 @Conditional条件注入2.3 @ImportResource引入原生配置文件(bean.xml)2.4 绑定配置文件2.4.1 @ConfigurationProperties2.4.2 @EnableConfigurationProperties3. 自动配置原理3.1 @SpringBootConfiguration3.2 @ComponentScan3.3 @EnableAutoConfiguration3

2021-12-03 00:23:13 433

原创 【SpringBoot2—Actuator指标监控】

文章目录Actuator1. maven依赖2. 查看监控信息方式1:通过http请求查看方式2:通过 JMX3. 端点配置3. health 端点3.1 自定义health端点4. metricsActuatorSpringBoot 版本为2.6.11. maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artif

2021-12-02 01:19:35 855

原创 【SpringBoot2—junit5断言、前置条件】

文章目录一、断言(assertions)1. 简单断言方法2. 数组断言3. 组合断言4. 异常断言5. 超时断言6.快速失败二、前置条件(assumptions)一、断言(assertions)本篇文章介绍的是 org.junit.jupiter.api.Assertions 的断言方法而不是org.springframework.util.Assert1. 简单断言方法方法说明Assertions.assertEquals判断两个对象或两个原始类型是否相等Asser

2021-11-30 23:33:27 837

原创 【SpringBoot2—单元测试】

文章目录单元测试1. Junit5 简介2. Junit5基础使用3. Junit5 常用注解@Test: 表明是测试方法@RepeatedTest 重复执行@ParameterizedTest:参数化测试@DisplayName 测试方法的名称@BeforeEach 每个单元测试开始之前执行@AfterEach 每个单元测试之后执行@BeforeAll 所有单元测试开始之前执行@AfterAll 所有单元测试结束之后执行@Disable 测试不执行@Timeout 执行超过一定时间就为异常单元测试主

2021-11-30 00:15:31 700

原创 【SpringBoot2—配置文件yaml】

文章目录SpringBoot的配置文件1. properties2. yaml2.1 基本语法2.2 数据类型2.3 示例2.4 配置文件编写提示SpringBoot的配置文件1. propertiesproperties这里就不做过多的说明了2. yaml2.1 基本语法key: value形式 (冒号后面有空格)大小写敏感缩进的时候不要用空格缩进没有严格的要求,同一层级主要对齐就可以value为字符串不需要加引号,如果用双引号和不加是一样,如果是单引号内容中的字符会被转义注释为

2021-11-29 23:26:55 283

原创 JUC—线程与进程

这里写自定义目录标题一、进程与线程1.1 线程Java开启线程的方式Java真的可以开启线程吗?线程的状态wait 和 sleep 的区别1.2 进程二、并发和并行2.1 并发2.2 并行一、进程与线程1.1 线程Java开启线程的方式Thread、Runnable、CallableJava真的可以开启线程吗?不可以,Java不能直接操作硬件。是通过调用 native 本地方法 start,底层是C++private native void start();线程的状态// Thread.

2021-09-04 13:05:40 101

原创 单元测试中如何让测试用例执行完成之后Jvm不自动退出

一、环境说明我当前使用的是SpringBoot框架,Junit4单元测试二、需求说明我需要在启动单元测试时,启动SpringBoot主程序,也就是 xxxxApplication所以我在测试类上添加了注解,来启动SpringBoot应用@SpringBootTest(classes = xxxxApplication.class)但是我希望在测试用例执行完成之后,应用可以一直保持启动状态,只要在加上下面的代码,Jvm就不会退出了 static Object lock = new Object

2021-07-02 14:34:54 1355 2

原创 数据结构——为什么数组的下标是从0开始,而不是从1开始

数组是一种线性表数据结构,在内存中使用了一段连续的内存空间。计算机会给每个内存单元分配一个地址,计算机通过地址来访问内存中的数据。当计算机需要随机访问数组中的某个元素时,通过下面的寻址公式,计算出该元素存储的内存地址:// 计算下标为 i 的元素的内存地址公式如下// baseAddress为a[0]的地址// dataSize由数组存储的数据类型决定,例如存储的为int类型就是4个字节targetAdress = baseAddress + i * dataSize如果数组的下标是从1开始,

2021-06-28 10:53:22 1088

原创 Linux 小技巧——Base64编码与解码

有时我们需要将一些数据进行base64编码或者解码,一般来说我们可能会去百度上找一个在线的编码工具。但是如果你正好在用linux系统那就不需要那么麻烦了可以直接使用linux的命令进行编码解码编码(注意要加引号)echo '你的内容' | base64解码(注意要加引号)echo '5L2g55qE5YaF5a65Cg==' | base64 -d...

2021-06-15 16:23:56 2132

原创 Centos上使用git clone无法拉取代码

将地址中的https换成git就可以了如下所示git clone https://github.com/easy-mock/easy-mock.git git clone git://github.com/easy-mock/easy-mock.git

2021-03-25 15:55:36 1354 2

原创 chrome插件 Proxy Switchy Auto 使用教程

文章目录一、使用场景二、插件配置一、使用场景这是一款chrome浏览器的插件,它的作用就是可以单独为某一个网站设置代理服务器,我们可能会遇到这种情况,就是访问某一个网站需要使用特殊的代理。但是如下图所示,如果在电脑的网络设置中开启代理,可能会影响其他网站的正常使用,这时我们就可以使用这个插件实现针对某个网站设置代理。二、插件配置在chrome商店中下载好插件之后,点击插件图标然后点击Option进入配置代理配置界面Option界面如下所示:Name框就是给你的配置设置一个自定义的名称什么都

2021-01-13 15:35:07 5366

原创 Java设计模式实战教程——创建者模式

系列文章目录文章目录系列文章目录一、前言二、工厂方法模式2.1 场景模拟代码实战2.1.1 传统写法2.1.2 工厂写法2.2 总结三、抽象工厂模式一、前言创建者模式提供创建对象的机制, 能够提升已有代码的灵活性和可复用性。序号类型图稿业务场景实现要点1工厂方法多种类型商品不同接口,统一发奖服务搭建场景定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。2抽象工厂替换Redis双集群升级,代理类抽象场景提供一

2020-12-03 22:00:29 261

2020中国城市等级划分(一二三四五线城市及排名)excel表格及sql文件

根据2020城市商业魅力排行榜整理的中国城市等级划分的excel表格以及一个城市等级的数据库表包括三个字段(自增id,城市名称,城市等级)的sql文件

2020-07-30

空空如也

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

TA关注的人

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