- 博客(266)
- 资源 (13)
- 收藏
- 关注

原创 2025-spring boot 之多数据源管理
Component@Primary // 将该Bean设置为主要注入Bean// 当前使用的数据源标识// 写@Autowired// 读@Autowired// 返回当前数据源标识@Override@Override// 为targetDataSources初始化所有数据源// 为defaultTargetDataSource 设置默认的数据源// 保留方式。
2025-02-23 12:13:48
680

原创 2025-alibaba-Sentinel组件实战,附带使用教程
在微服务调用链路中,因服务提供者的不可用导致服务调用者的不可用,并将不可用逐渐放大的过程,就叫服务雪崩效应。r = R.error(100,"接口限流了111");r = R.error(101,"服务降级了2222");r = R.error(102,"热点参数限流了3333");r = R.error(103,"触发系统保护规则了444");
2025-02-23 10:09:28
428

原创 2025-alibaba-分布式事务组件-Seata实战
如果调用远程服务的时候使用熔断降级的功能,由于降级是通过 try catch 的方式实现的,进入降级的方法后,就相当于进入catch模块了,此时全局事务就不能捕捉到异常信息 就无法回滚了,可以通过手动判断的方式,如果出现异常后 手动判断是否降级异常等信息,然后手动在抛出异常。尤其在第二阶段,协调者发生故障,那么所有的参与者还都处于锁定事务资源的状态中,而无法继续完成事务操作。2PC 中的参与者是阻塞的。2、RM 请求 TC 将本地事务注册为全局事务的分支事务,通过全局事务的 XID 进行关联。
2025-02-16 20:51:43
834

原创 2025 分布式事务seata AT、XA、2PC、3PC、TCC、SAGA以及MP的消息一致性
AT:适用于数据库支持事务的简单场景,性能较高,但适用范围有限。XA:适用于强一致性需求,数据库支持 XA 协议的分布式事务,性能较差。2PC:适用于对一致性要求较高的场景,但存在性能瓶颈和阻塞问题。3PC:适用于需要一定容错性但对性能要求不高的场景,避免了 2PC 的阻塞问题。TCC:适用于微服务架构中的复杂业务场景,灵活性高,但需要开发者编写补偿逻辑。SAGA:适用于微服务架构中的长事务和跨服务事务,具有较好的性能和容错性,但补偿机制较复杂。
2025-02-09 19:46:00
1222

原创 linux 环境运行 jenkins.war包,有可能会出现字体问题,jdk版本:11 jenkins 版本:2.420
jenkins 重新部署。
2024-10-13 20:04:57
3115

原创 springboot admin监控
external-file: logs/${spring.application.name}/sys-info.log # 日志文件 这里的配置要和 logback 的路径对应上。show-details: always # 开启监控其他环境,例如redis、mysql等。注意 注意 注意 这个日志文件路径要和 logback的文件路径对应上,要不然读取不到日志信息。include: '*' # 暴露所有节点。启动类要添加注解: @EnableAdminServer。
2024-08-23 17:15:25
1214
1

原创 Java整合ELK实现日志收集 之 Elasticsearch、Logstash、Kibana
Elasticsearch:用于存储收集到的日志信息Logstash:用于收集并处理日志,将日志信息存储到Elasticsearch里面Kibana:通过Web端的可视化界面来查看日志(数据可视化)Logstash 是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的存储库中。一、安装 Docker Compose 环境Docker Compose的安装# docker compose安装步骤设置权限。
2024-05-26 11:38:08
3612

原创 sharding‐jdbc之分库分表实战
/添加商品分组统计 group by 时一定要拼接 order by ,因为 流式归并 是先把每个表进行排序的,所以一定要和 order by 联合使用在分组项与排序项完全一致的情况下,取得的数据是连续的,分组所需的数据全数存在于各个数据结果集的当前游标所指向的数据值,因此可以采用流式归并。如下图所示。进行归并时,逻辑与排序归并类似。下图展现了进行next调用的时候,流式分组归并是如何进行的;
2024-04-06 10:34:54
1979

原创 mysql安装主从数据库
从库目录找到auto.cnf,由于是从库是复制的主库,这里文件是一样的,里面有一个uuid将这个文件删除后重启服务,会从新生成此文件重新生成文件再次查看 都是yes 了。
2024-04-05 13:06:38
2264

原创 linux环境安装git、maven、jenkins等
注意 注意 注意 安装目录不要和解压包目录是同一个,我这里安装目录不对,忘了修改了,把解压目录和安装目录弄成同一个了,都没法区分哪些是安装文件,哪些是解压文件。2.删除yum方式安装的git: 第一步 添加依赖时自动yum安装了git1.8版本。安装完成后 解压目录文件就没用了,可以删除,我这里安装和解压是同一个目录,所有不能删除。执行,注意后面的路径,要是git的目录 /usr/local/git2.28。安装目录:/usr/local/git2.28。开始 安装 注意目录,这一步时间有点长。
2024-01-31 10:48:21
2091

原创 mysql优化之explain 以及 索引优化
因为存储引擎不能使用索引中范围条件右边的列索引列是name,age,position,上面key_len没有等于140,说明索引未被充分使用。因为当第二个列是范围,从索引树中可看出第三个列就可能不是顺序的了,所以第三列不能被使用,建议范围查询的索引列放到最后,改成name,position,age5.尽量使用覆盖索引(只访问索引的查询(索引列包含查询列)),减少 select * 语句使用覆盖索引可以避免回表的开销第一个Extra显示使用到了覆盖索引,第二个未使用到;
2023-11-19 13:08:22
1636

原创 Spring Boot (二) 校验表单重复提交之谷歌缓存com.google.common.cache.Cache(自定义注解-幂等性)---- 切面作用方法或者类上,
一、Spring Boot 校验表单重复提交操作1、pom.xml中引入Aop所需依赖<!-- ================== 校验表单重复提交所需依赖 ===================== --><!-- AOP依赖 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-...
2021-03-31 09:18:49
3523
1

原创 Linux基础命令自学-代码
蓝色代表描述 红色代表输入命令Linux快捷键查看网卡信息:ifconfig关机:shutdown -h now重启:rebootctrl + l 清屏。ctrl + c 退出应用。tab键,信息补全。安装拖入进Linux 压缩包的命令 移动 拖拽[root@localhosthome]#yum-yinstalllrzsz[root@localhosthome]# yum install lrzszLinux基本命令查看所连接用户的主机名[r...
2021-03-01 15:59:15
2453
2

原创 linux系统安装RocketMq集群搭建和命令学习
RocketMq集群搭建和命令学习nameserver 关闭 sh mqshutdown namesrv启动路径 cd /usr/local/rocketmq/rocketmq-all-4.4.0-bin-release/bin启动命令 nohup sh mqnamesrv &查看是否启动命令 tail -f ~/logs/rocketmqlogs/namesrv.log关闭 sh mqshutdown namesrvbroker 关闭 sh mqshutdown..
2021-01-22 08:22:56
5771

原创 linux定时任务执行
定时备份文件参考地址: https://www.cnblogs.com/blazeZzz/p/10881297.html创建文件夹mkdir -p /data/backdatamkdir -p /data/logsmkdir -p /data/mysqlbak进入文件夹cd /data/mysqlbak创建文件touch backup.sh编辑文件 vi backup.sh添加下面的内容DATE=$(date +%Y%m%d)/u...
2021-01-21 16:09:15
3899

原创 SQL 左外连接,右外连接,全连接,内连接带图详细介绍
SELECT id, name,description,img_url,sort,is_display from bbs_brand ORDER BY id DESC limit startRow,pageSize ( limit 开始行,每页大小。)**SQL 左外连接,右外连接,全连接,内连接**内连接 : (查询的是两个表共有的数据)左连接 :(以左表为主表【a】,查询展示的时候以左表的信息为主,相对应的右表如果没有信息会显示null)右连接
2021-01-19 11:38:38
7454
3

原创 springMvc的执行流程,有图详解
第一步:发起请求到前端控制器(DispatcherServlet)第二步:前端控制器请求HandlerMapping查找 Handler可以根据xml配置、注解进行查找第三步:处理器映射器HandlerMapping向前端控制器返回Handler第四步:前端控制器调用处理器适配器去执行Handler第五步:处理器适配器去执行Handler第六步:Handler执行完成给适配器返回ModelAndView第七步:处理器适配器向前端控制器返回ModelAndViewMo...
2021-01-19 11:19:12
5620
1

原创 quartz之@Scheduled定时器的使用和详细介绍
@Scheduled(cron="0 0 14 * * ?") //每天14点定时统计1.cron表达式格式:{秒数} {分钟} {小时} {日期} {月份} {星期} {年份(可为空)}2.cron表达式各占位符解释:{秒数}{分钟} ==> 允许值范围: 0~59 ,不允许为空值,若值不合法,调度器将抛出SchedulerException异常“*” 代表每隔1秒钟触发;“,” 代表在指定的秒数触发,比如”0,15,45”代表0秒、15秒和45秒时触发任务“-“代表在指
2021-01-18 11:21:47
5820

原创 java获取项目所在服务器的ip地址和端口号(获取当前ip地址)
不传参数,直接通过ServletRequestAttributes获取当前项目所在服务器的端口号和ip地址public static String getUrl(){ ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest request = requestAttribut
2021-01-11 17:12:49
34199
6

原创 Mybatis 批量操作多种实现总结
批量操作新增1.方式一(常用)<!-- 批量新增--><insert id="batchSave" parameterType="java.util.List"> INSERT INTO lp_user_test_batch ( id, user_id, user_name, user_age, type, create_time, update_time ) VALUES &
2021-01-07 14:41:52
4263

原创 spring 之 Spring支持的几种bean的作用域
(1)singleton:默认,每个容器中只有一个bean的实例,单例的模式由BeanFactory自身来维护。(2)prototype:为每一个bean请求提供一个实例。(3)request:为每一个网络请求创建一个实例,在请求完成以后,bean会失效并被垃圾回收器回收。(4)session:与request范围类似,确保每个session中有一个bean的实例,在session过期后,bean会随之失效。(5)global-session:全局作用域,global-session和Portlet
2021-01-06 15:03:50
3798

原创 ConcurrentHashMap并发能力为什么好于Hashtable
①Hashtable是通过对hash表整体进行锁定,是阻塞式的,当一个线程占有这个锁时,其他线程必须阻塞等待其释放锁而ConcurrentHashMap是如下实现:②jdk1.6的实现:ConcurrentHashMap是采用Segment分段锁的方式,它并没有对整个数据结构进行锁定,而是局部锁定,③jdk1.8的实现: 采用一种乐观锁CAS算法来实现同步问题,但其底层还是“数组+链表->红黑树”的实现...
2021-01-06 14:55:37
5074

原创 2020-java中级面试题
No. JD技术分类 问题 参考答案 判断标准 反馈 1 基础知识 HashMap和TreeMap区别 HashMap:①数组加链表方式存储key/value,②线程非安全,③允许null作为key和value,④key不可以重复,value允许重复,⑤不保证元素迭代顺序是按照插入时的顺序; TreeMap:①基于红黑树,②线程非安全,③不允许null作为key,④key不可以重复,value允许重复,⑤存入TreeMap的元素应当实现Compa..
2020-12-06 10:34:09
5730

原创 String 详细介绍
1、String 是最基本的数据类型吗?不是,java中基本类型有8个: int、short、byte、boolean、float、char、double、long2、float f=3.4;是否正确?不正确,3.4是双精度,将双精度给浮点型赋值,是向下转型,会损失精度,需要强制转型, flort f = (flort)3.4, 或者 flort f = 3.4f3、short s1 = 1; s1 = s1 + 1;有错吗? short s1 = 1; s1 += 1;有错吗?s...
2020-12-06 10:29:24
3455

原创 java正则校验密码 长度不少于8位且至少包含大写字母、小写字母、数字和特殊符号中的四种组合 或者 其中任意三种组合
java正则校验密码必须是包含大小写字母、数字、特殊符号的8位以上四种组合或者 其中任意三种组合一、排除法和详细解释 1、排除大写字母、小写字母、数字、特殊符号中1种组合、2种组合、3种组合,那么就只剩下4种都包含的组合了 2、表达式为:^(?![A-Za-z0-9]+$)(?![a-z0-9\\W]+$)(?![A-Za-z\\W]+$)(?![A-Z0-9\\W]+$)[a-zA-Z0-9\\W]{8,}$ 3、拆分解释:其中(2)-(6)运用了零宽断言、环视等正则功能 .
2020-12-01 14:05:37
29768
5

原创 Linux系统redis的安装教程和设置开机自启
安装教程将安装包复制到linux安装的目录下root@localhostjava]#rz解压安装包[root@localhostjava]#tar-zxvfredis-3.0.4.tar.gz先安装gcc-c++ 是安装redis必不可少的工具[[email protected]]#yum -y install gcc-c++或者[[email protected]]# yum -y install gcc如果没网...
2020-11-27 09:38:17
3582

原创 linux系统定时备份文件、删除文件以及远程备份文件
参考地址: https://www.cnblogs.com/blazeZzz/p/10881297.html创建文件夹mkdir -p /data/backdatamkdir -p /data/logsmkdir -p /data/mysqlbak进入文件夹cd /data/mysqlbak创建文件touch backup.sh编辑文件 vi backup.sh添加下面的内容 DATE=$(date +%Y%m%d) /usr/local/mysql
2020-11-20 09:44:03
5096

原创 linux服务器安装mysql详细带图安装教程以及开机自启动设置,包括所需插件安装
安装拖入进Linux 压缩包的命令 移动 拖拽[root@localhosthome]#yum-yinstalllrzsz[root@localhosthome]# yum install lrzsz安装前需要安装一个插件,否则会报错离线安装MySQL初始化数据时报错:error while loading shared libraries: libaio.so.1这是因为服务器缺少libaio.so.1文件解决方法:1,安装mysql之前检查下libaio.so....
2020-11-18 14:59:31
4267

原创 Linux系统 安装maven私有库教程详解
linux部署安装maven私有库下载地址: http://pan.baidu.com/s/1dFJv5wl在/usr/etc 目录下创建 mkdir nexus 文件夹 将安装包上传至linux系统 上传至nexus文件夹内解压安装包[root@localhost nexus]#tar -zxvf nexus-2.14.8-01-bundle.tar.gz会解压出2个文件夹nexus-2.14.2-01(nexus服务,启动也是这个)sonatype-work(私...
2020-10-28 17:16:59
7048

原创 java 获取富文本框里面的文字内容 (将html转为文本text文本)
package com.leadthing.wx.util;import java.io.ByteArrayInputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.Reader;import javax.swing.text.html.HTMLEditorKit;import javax.swing.text.html..
2020-10-28 17:09:15
21274
5

原创 java JDK环境变量配置教程
双击jdk-8u121-windows-i586.exe文件点击下一步修改路径点击更改==> 确定 ==> 下一步点击修改,设置JRE路径 下一步点击下一步点击关闭安装完成JDK环境变量设置在计算机上右击-属性-高级系统设置打开环境变量接下来可以在用户环境变量或系统环境变量中配置具体的环境变量,在系统变量点击用新建系统变量→新建 JAVA_HOME 变量 。变量值...
2020-10-15 15:42:06
4998
1

原创 java 时间工具类以及时间转换
java 时间工具类//将日期字符串剪切成时间 2019-10-10 23:59:59public static String getOnlyTime(String dateString){ String substring = dateString.substring(11); return substring;}//传入时间格式为 08:20:20public static Date getTime(String dateString)throws ParseEx.
2020-10-15 15:26:08
6744

原创 java 类的加载机制详细讲解
类的加载机制什么是类的加载虚拟机把描述类的数据从Class文件加载到内存,并为之创建一个java.lang.Class对象,并对数据进行校验,解析和初始化,最终形成可以被虚拟机直接使用的java类型。也就是说程序使用任何类时,系统都会为之建立一个java.lang.Class对象。类的生命周期类的生命周期包括这几个部分,加载、连接、初始化、使用和卸载,其中前三部是类的加载的过程,如下图;加载,查找并加载类的二进制数据,在Java堆中也创建一个java.lang.Class类的对象连接,连.
2020-10-15 15:10:10
4459

原创 用java产生一个范围在1到1000之间的随机数
用java产生一个范围在1到1000之间的随机数方法一:Randomrd=newRandom();System.out.println(rd.nextInt(1000)); //参数填写多少就是1-多少的随机数方法二:Math.round(Math.random() * 2000)
2020-10-15 15:06:48
22293
1

原创 java中list集合、map集合、String数组、JSONObject、实体类、JSON字符串、JSON数组之间的转换,常用类型转换---工具类
list集合转换String[ ] 数组 List list = new ArrayList<>(); String[] strings = list.toArray(new String[list.size()]); String[ ] 转换 数组list集合 //准备一个String数组 String[] strs = {"aa","bb","cc"}; //String数组转List 方法1: Listring> str
2020-10-15 14:03:33
7624
1

原创 Intellij IDEA同时打开多个工程(项目)的方法
先创建一个文件夹命名为workspace(可以自定义名称)将开发项目放在该workspace目录下打开Intellij idea 开发工具,选择 File -> Open在Open File or Project 窗口中,找到并选择workspace目录,并点击OKidea将多个项目加载了进来等待右下角进度条加载完将所有项目加载进来后,intellij idea 不会自动下载pom.xml中的依赖配置,需手工配置找到项目的pom.xml文件,右键点击 .
2020-07-21 10:35:11
23710
2

原创 idea代码上传git服务器详细步骤,带图详细讲解教程
第一步:在git上创建仓库,获得仓库地址添加前在项目文件夹中没有 .git 文件夹第二步:通过idea添加将代码添加到本地仓库点击后台跳转到下面页面,找到项目路径,点击OK此时在项目文件夹中会有一个.git文件夹,说明本地仓库创建成功。第三步: 在idea中点击项目目录右键,此时会出现一个git,这是仓库创建成功才会有的。然后点击add添加到缓冲区等待进度条完成第四步:将缓冲区的项目添加到本地仓库中此时...
2020-06-28 11:46:53
9623

原创 JSON字符串和list集合互转
谷歌的Gson.jar: //list转换为json Gson gson = new Gson(); List<Person> persons = new ArrayList<Person>(); String str = gson.toJson(persons); ...
2018-10-15 14:10:53
16790
3
压测工具-jmeter-5.6.3 ,官网下载比较慢,可以通过csdn下载,无需积分就可以下载
2025-05-25
linux环境-jenkins2.420.war
2024-10-13
linux环境-jdk11-jdk-11.0.8-linux-x64-bin.tar
2024-10-13
Work库:free spire.doc.jar 3.9.0 jar 包
2022-08-05
aspose-words-15.8.0-jdk16 jar包
2022-06-02
mysql-5.6.45-linux-glibc2.12-x86_64.tar.zip
2021-01-21
JDK1.8-windows-x64 附带图文安装教程
2020-10-16
linux环境安装资源包 tomcat-jdk-mysql-redis
2020-10-16
java导入Excel的数据的同时导入Excel里面的图片-测试demo.zip
2021-10-08
Linux系统 maven私有库安装包
2020-10-28
Navicat Premium 12-1.18.zip
2021-01-21
JDK1.7-windows-x64 附带安装教程
2020-10-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人