- 博客(110)
- 收藏
- 关注
原创 Retryer重试机制
重试框架Retryer,针对Callable做的各种重试策略方法。可以保证调用接口失败之后重新执行操作,达到一定的重试次数之后再进行异常日志捕捉,执行失败之后的操作。
2024-07-01 12:17:21 222
原创 常用正则表达式
备注:这就是最终结果了,别忘了”+”可以用”*”替代如果你觉得空字符串也可以接受的话(奇怪,为什么?)最后,别忘了在用函数时去掉去掉那个反斜杠,一般的错误都在这里xml文件:中文字符的正则表达式:双字节字符: (包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1))空白行的正则表达式: (可以用来删除空白行)HTML标记的正则表达式: (网上流传的版本太糟糕,上面这个也仅仅能部分,对于复杂的嵌套标记依旧无能为力)首尾空白字符的正则表达式: (可以用来删除行首行尾的空白字符(包
2023-02-06 10:08:48 498
原创 Java代码健壮性规范
1、java.lang.NullpointerException(空指针异常)原因:这个异常经常遇到,异常的原因是程序中有空指针,即程序中调用了未经初始化的对象或者是不存在的对象。经常出现在创建对象,调用数组这些代码中,比如对象未经初始化,或者图片创建时的路径错误等等。对数组代码中出现空指针,是把数组的初始化和数组元素的初始化搞混淆了。数组的初始化是对数组分配空间,而数组元素的初始化,是给数组中的元素赋初始值2、 java.lang.ClassCastException(类型转换异常)
2023-02-06 09:47:56 1038
原创 docker搭建Mariadb双主配置
查看Last_Errno,可以看到错误提示码为1146,在slave的my.cnf的[mysqld]段添加。先确认当前操作系统网络服务已经开启并且能够正常连接到外网,并以 root 身份进行安装调试。mariadb用于数据汇聚本身数据存储,使用最新版本即可(版本号需要大于等于10.3.13)分别进入两个容器内部,修改配置文件(如果没有vi,复制到容器外部编辑好再覆盖进去)进入 /home/bigdt 目录,解压安装包,执行安装脚本。vim my.cnf,在 mysqld下增加。复制配置文件回去,重启服务。
2023-01-04 15:47:23 1198 1
原创 Activiti进阶篇
一、使用EL表达式进行指定流程处理人在流程部署之后,启动流程的时候进行runtimeService.startProcessInstanceByKey(processDefinitionKey, map)指定map集合。/** * 启动流程实例 * act_hi_actinst 流程实例执行历史 * act_hi_identitylink 流程参与用户信息历史 * act_hi_taskins 任务实例历史信息 * act_ru_execution 流程执行的信息 * act_ru_ide
2022-10-14 11:05:30 930
原创 MySQL高级
索引(INDEX)是帮助MYSQL高效获取数据的数据结构。)本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存在磁盘上。
2022-09-26 08:56:54 492
原创 Activiti使用步骤
一、安装引入pom文件 <properties> <activiti.version>7.0.0.Beta1</activiti.version> </properties> <dependencies> <dependency> <groupId>org.activiti</groupId> <artifa
2022-04-16 22:35:50 2372
原创 SpringSecurity连接数据库的使用
一、简介Spring 是非常流行和成功的 Java 应用开发框架,Spring Security 正是 Spring 家族中的成员。Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案。正如你可能知道的关于安全方面的两个主要区域是“认证”和“授权”(或者访问控制),一般来说,Web 应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分,这两点也是 Spring Security 重要核心功能。(1)用户
2022-02-17 22:10:29 5138
原创 SpringCloud整合定时任务
1、在启动类上添加注解@EnableScheduling2、创建定时任务类(定义执行的时间与步骤)(1)CRON语句:设置执行规则【秒 分 时 日 月 周 年(默认当前年,可不写)】语句参考:https://cron.qqe2.com/(2)方法定义3、重新启动该服务...
2022-01-25 15:35:24 1028
原创 单点登录实现
一、什么是单点登录单点登录(Single Sign On),简称为 SSO,是比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。二、实现方法1、session 广播机制通俗的说是session复制,缺点:如果微服务过多,需要复制多次,对资源消耗过大。造成数据重复,浪费资源。2、cookie + redis 实现cookie是客户端技术,每次发送请求会带着cookie进行发送。①、在项目中任何一个磨课进行登录,登陆之后,把数
2022-01-15 18:42:20 416
原创 elementui级联操作BUG修复
1、首先进入显示代码<el-form-item label="行政区划" prop="areaCode"> <el-cascader ref="cascader" :props="defaultParams" :options="options" v-model="areaCodeList" :show-all-levels="true" :filter
2021-11-09 13:37:23 304
原创 elementUI-级联选择器
1、从后端调用接口,传递数据到前端2、使用VUE代码显示级联选项<el-cascader :disabled="isDisabled" :props="defaultParams" :options="options" v-model="selectedOptions" :show-all-levels="false" filterable :clearable="true"
2021-11-08 16:58:00 1627
原创 冒泡排序和选择排序
概念时间复杂度:一段程序运行所需要的的时间O(1)<O(log2n)<O(n)<O(nlog2n)<O(n2)<O(n3)<…<O(2n)<O(n!)空间复杂度:一顿程序运行所占用的内存空间算法分析1、冒泡排序主体思想:通过与相邻元素的比较和交换来把小的数交换到最前面。这个过程类似于水泡向上升一样,因此而得名。举个栗子,对5,3,8,6,4这个无序序列进行冒泡排序。首先从后向前冒泡,4和6比较,把4交换到前面,序列变成5,3,8,4,6。同理4和8交换,变成5,3,4,8,6和4无需交换。6和
2021-11-01 16:18:18 4110
原创 自定义UUID随机获取ID工具类
自定义UUID随机获取ID工具类public final class UUIDUtils { private UUIDUtils() { } /** * 获取UUID,不含有- * @return */ public static String getUUID() { return UUID.randomUUID().toString().replaceAll("-", ""); } /** * 批量获取
2021-11-01 08:38:21 298
原创 数字+字母+特殊字符 的正则表达式
数字public static final String REGEX_NUM = "^[-]?\\d+[.]?\\d*$";字母public static final String REGEX_CHAR = "^[A-Za-z]+$";数字+字母public static final String REGEX_NUM_AND_CHAR = "^[A-Za-z0-9]+$";数字+字母+特殊字符public static final String REGCH = "(?=(.*[A-Za-
2021-11-01 08:35:52 2429
原创 Spring源码剖析之注解方式进行IOC
一、Spring IOC 源码解析(基于注解)1.源码阅读环境的搭建2.描述bean容器AnnotationConfigApplicationContextA、执行this()方法获取注解Bean的读取器和注解Bean的扫描器B、注册Bean,调用Bean扫描器上面的scan()方法C、重点来了,执行doScan()方法在指定的包中进行扫描,注册Bean。for (String basePackage : basePackages)首先遍历需要扫描包的路径;findCandidate
2021-08-04 16:36:07 240 2
原创 Spring源码解析之xml方式进行IOC
一、反射机制创建对象的两种方式:new 和反射1、获取Class的三种方式Class clazz = Class.forName();Class clazz = 类名.class;Class clazz = 对象名.getClass();2、生成具体的对象Constructor ctor = clazz.getDeclareConstructor();Object obj = ctor.newInstance();使用场景:比如JDBC原生代码注册驱动,hibernate 的实体类,Spr
2021-08-04 16:32:01 207
原创 Spring源码分析之循环依赖
三级缓存分别是什么一级缓存:存放成品对象二级缓存:存放半成品对象三级缓存:存放lambda表达式,来完成代理对象的覆盖过程1、三级缓存解决循环依赖的关键是?实例化和初始化分开操作,在过程中给其他对象赋值的时候并不是一个完整对象,而是把半成品对象赋值给其他对象。2、如果只使用一级缓存能否解决?不能。因为在整个处理过程中,缓存中放的是半成品和成品对象,如果只有一级缓存,成品和半成品都会放到一级缓存中,有可能在获取过程中会获取到半成品对象,不能直接进行相关处理。因此需要把成品和半成品存放空间分离 。3
2021-08-04 16:27:12 210
原创 阿里云短信服务
1、需要在阿里云中开通短信服务①、创建签名②、创建模板2、引入依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> </dependency> <dependency> <groupId>co
2021-07-09 17:55:35 670
原创 EasyExcel的读写操作
一、使用EasyExcel进行写操作1、在pom中导入依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.1.1</version></dependency><dependency> <groupId>org.apache.p
2021-06-02 23:17:22 490
原创 Vue实现前端实现数据查询
前端我们这里采用模板为:【vue-admin-template-master】1、添加路由在 router/index.js文件中成功显示页面如下:2、修改文件的路径测试list.vue文件中代码如下:显示成功之后效果如下:3、在api文件夹创建 teacher.js 定义访问的接口地址4、在list.vue文件中获取后端返回的数据代码如下:<script>//引入import teacher from '@/api/edu/teacher/teacher'/
2021-05-25 22:34:42 5484 7
原创 Logback日志
一、Logback日志spring boot内部使用Logback作为日志实现的框架。Logback和log4j非常相似,如果你对log4j很熟悉,那对logback很快就会得心应手。logback相对于log4j的一些优点:https://blog.csdn.net/caisini_vc/article/details/48551287二、实现方法1、删除application.properties中的日志配置2、resources中创建logback-spring.xml配置文件文件内
2021-05-24 19:31:49 98
原创 雪花算法
集群高并发情况下如何保证分布式唯一全局ID生成?为什么需要分布式全局唯一ID以及分布式ID的业务需求?在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。例如:在美团点评的金融、支付、餐饮、九点等产品的系统中数据日渐增长,对数据分库分表需要有唯一ID来表示一条数据或消息。特别注意的是如订单、骑手、优惠券也都需要唯一ID作为标识。此时一个能够生成全局唯一ID的系统是非常必要的。ID生成规则部分硬性要求全剧唯一【不能出现重复的ID号】去世递增【在MySQL的InnoDB引擎中使用的是聚集索引
2021-03-31 22:45:18 3441
原创 SpringCloud Alibaba Seata处理分布式事务
一、安装配置1、下载解压https://github.com/seata/seata/releases/tag/v1.0.02、 修改conf目录下的file.conf配置文件先备份原始file.conf文件修改:自定义事务组名称 + 事务日志存储模式为db + 数据库连接信息这里的组名称可以随意定义3、 在mysql5.7版本中创建seata数据库,seata库中建表,sql文件在D:\Downloads\seata\conf\db_store.sql文件中可以看到出现了三张表
2021-03-29 22:18:27 162
原创 SpringCloud 之 Sentinel
1、下载安装Sentinel下载地址:https://github.com/alibaba/Sentinel/releases/tag/1.7.1下载完成之后就可以出现sentinel-dashboard-1.7.1.jar安装包,到安装包的目录下运行 java -jar sentinel-dashboard-1.7.1.jar就可以运行成功。浏览器输入localhost:8080即可访问sentinel控制面板一、...
2021-03-27 16:23:18 631
原创 SpringCloud 之 Nacos
1、下载安装nacos下载地址:https://github.com/alibaba/nacos/releases/tag/1.4.1下载之后解压,到bin目录下运行 startup.cmd 命令浏览器输入 localhost:8848/nacos进入Nacos的控制面板一、服务注册中心【生产者】1、导入pom坐标在父pom中导入一下坐标 <dependency> <groupId>com.alibaba.cloud</g
2021-03-25 21:38:12 334 1
原创 Linux配置Nacos集群
1、下载Nacos地址如下:https://github.com/alibaba/nacos/releases/tag/1.1.42、复制 nacos-mysql.sql运行之后生成SQL的表用于存储数据,替换到Nacos自带的Derby数据库3、 修改conf/application.properties配置文件spring.datasource.platform=mysqldb.num=1db.url.0=jdbc:mysql://11.162.196.16:3306/nacos_dev
2021-03-25 16:38:40 1216 8
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人