- 博客(159)
- 资源 (4)
- 收藏
- 关注
原创 找出List集合中连续的数字和不连续的数字
现在需要从数字钟,找出连续的数字和不连续的数字,得到的结果需要为1, 2, 3, 468, 911, 12,4个结果。
2024-06-26 17:09:49
445
原创 解析zip包报错:java.lang.IllegalArgumentException: MALFORMED 解决方法
zip文件里含有中文名称的文件,windows 环境下,默认字符集为GBK,ZipFile 默认使用 UTF-8 字符集,当文件名存在中文时,处理时就会报错。创建 ZipFile 时,设置字符集为GBK(JDK 1.7以上)
2024-02-06 18:26:13
1908
原创 K8S环境下配置SpringBoot健康检查(活性探针)
容器存活性检查,用于判断容器是否健康,告诉 kubelet 一个容器什么时候处于不健康的状态。如果 LivenessProbe 探针探测到容器不健康,则 kubelet 将删除该容器,并根据容器的重启策略做相应的处理。如果ReadinessProbe探针探测到失败,Endpoint Controller 将从 Service 的 Endpoint 中删除包含该容器所在 Pod 的 IP 地址的Endpoint条目。:容器启动后要等待多少秒后存活和就绪探测器才被初始化,默认是 0 秒,最小值是 0。
2023-05-23 11:34:20
4599
原创 RocketMQ | Docker安装RocketMQ详细教程(foxiswho/rocketmq:4.8.0)
RocketMQ | Docker安装RocketMQ详细教程(foxiswho/rocketmq:4.8.0)
2022-10-13 20:45:00
2801
原创 redis报错:MISCONF Errors writing to the AOF file: No space left on device
redis报错:MISCONF Errors writing to the AOF file: No space left on device。原因和解决方案
2022-10-13 12:48:49
11496
原创 ES(三)| 查询、排序、分页(深度分页问题)、高亮显示、Java使用RestClient进行ES操作
ES(三)| 查询、排序、分页(深度分页问题)、高亮显示、Java使用RestClient进行ES操作
2022-08-24 22:00:00
1159
原创 ES(二)| 安装ES、Kibana、IK分词器、拼音分词器(自动补全)
ES(二)| 安装ES、Kibana、IK分词器、拼音分词器(自动补全)
2022-08-23 21:45:00
2075
原创 ES(一)| ES简介、倒排索引、索引库操作语法、文档操作语法、Java使用RestClient进行ES操作
ES简介、倒排索引、索引库操作语法、文档操作语法、Java使用RestClient进行ES操作
2022-08-23 21:00:00
1466
原创 Canal | 工作原理、安装部署、使用第三方插件与SpringBoot完美整合
一、简介1.1.工作原理1.1.1.MySQL主备复制原理1.1.2.canal 工作原理1.2.使用场景1.2.1.抓取业务数据新增变化表1.2.2.更新缓存1.3.重要版本更新说明1.4.多语言二、安装和配置Canal1.开启MySQL主从1.1.开启binlog1.2.设置用户权限2.安装Canal2.1.创建网络2.2.安装Canal三、监听Canal(使用第三方插件)5.3.1.引入POM依赖:5.3.2.编写配置:5.3.3.编写Item实体类5.3.4.
2022-07-03 16:00:00
2371
原创 Redis分布式缓存(四)| 分片集群搭建、散列插槽、集群伸缩、故障转移、与SpringBoot集成分片集群
Redis分片集群1.搭建分片集群1.1.集群结构1.2.准备实例和配置1.3.启动1.4.关闭1.5.创建集群1.6.创建集群报错1.7.测试集群连接2.散列插槽2.1.插槽原理2.2.插槽切换测试2.3.小结3.集群伸缩3.1.向集群中添加一个节点分析3.2.创建新的redis实例3.3.添加新节点到redis3.4.转移插槽3.5.测试插槽转移3.6.从集群中删除一个节点4.故障转移4.1.自动故障转移4.2.手动故障转移4.2.1.案例需求:.....
2022-07-02 22:30:00
1225
原创 Redis分布式缓存(三)| 哨兵集群原理、哨兵集群搭建、集群故障恢复、与SpringBoot集成
Redis哨兵集群1.哨兵原理1.1.集群结构和作用1.2.集群监控原理1.3.集群故障恢复原理1.4.小结2.搭建哨兵集群2.1.集群结构2.2.准备实例和配置2.3.启动2.4.测试3.使用Java的RedisTemplate连接哨兵集群3.1.新建一个SpringBoot的Demo工程3.1.引入POM依赖3.2. 新加一个 TestController 类:3.3.配置yml文件中的Redis地址3.4.配置读写分离......
2022-07-02 09:00:00
890
原创 Redis分布式缓存(二)| 主从架构搭建、全量/增量同步原理、主从同步优化
Redis主从架构1.搭建主从架构1.1.集群结构1.2.准备实例和配置1.3.启动1.4.停止1.5.开启主从关系1.6.测试2.主从数据同步原理2.1.全量同步2.2.增量同步2.3.repl_backlog原理3.主从同步优化
2022-07-02 08:30:00
1650
原创 Redis分布式缓存(一)| 单机安装、RDB和AOF持久化
分布式缓存0.单机安装Redis0.1.首先需要安装Redis所需要的依赖:0.2.下载reids安装包1.Redis持久化1.1.RDB持久化1.1.1.执行时机1.1.2.RDB原理1.1.3.小结1.2.AOF持久化1.2.1.AOF原理1.2.2.AOF配置1.2.3.AOF文件重写1.3.RDB与AOF对比......
2022-07-01 22:30:00
865
原创 RabbitMQ(五) | MQ集群搭建、部署、仲裁队列、集群扩容
接上一篇:RabbitMQ(四) | 惰性队列 - 解决消息堆积问题RabbitMQ的是基于Erlang语言编写,而Erlang又是一个面向并发的语言,天然支持集群模式。在RabbitMQ的官方文档中,讲述了两种集群的配置方式:镜像集群虽然支持主从,但主从同步并不是强一致的,某些情况下可能有数据丢失的风险。因此在RabbitMQ的3.8版本以后,推出了新的功能:仲裁队列来代替镜像集群,底层采用Raft协议确保主从的数据一致性。普通集群,或者叫标准集群(classic cluster),具备下列特征:结构如
2022-06-24 23:45:00
3059
原创 RabbitMQ(四) | 惰性队列 - 解决消息堆积问题
接上一篇:RabbitMQ(三) | 死信交换机、死信队列、TTL、延迟队列(安装DelayExchange插件)当生产者发送消息的速度超过了消费者处理消息的速度,就会导致队列中的消息堆积,直到队列存储消息达到上限。之后发送的消息就会成为死信,可能会被丢弃,这就是消息堆积问题。解决消息堆积有两种思路:要提升队列容积,把消息保存在内存中显然是不行的。从RabbitMQ的3.6.0版本开始,就增加了Lazy Queues的概念,也就是惰性队列。惰性队列的特征如下:而要设置一个队列为惰性队列,只需要在声明队列时
2022-06-24 23:30:00
2950
原创 RabbitMQ(三) | 死信交换机、死信队列、TTL、延迟队列(安装DelayExchange插件)
接上一篇:RabbitMQ(二) | 消息可靠性(消息确认机制、消息持久化、消息重试机制)什么是死信?当一个队列中的消息满足下列情况之一时,可以成为死信(dead letter):如果这个包含死信的队列配置了属性,指定了一个交换机,那么队列中的死信就会投递到这个交换机中,而这个交换机称为死信交换机(Dead Letter Exchange,检查DLX)。如图,一个消息被消费者拒绝了,变成了死信:因为simple.queue绑定了死信交换机 dl.direct,因此死信会投递给这个交换机:如果这个死信交
2022-06-24 23:15:00
2814
原创 RabbitMQ(二) | 消息可靠性(消息确认机制、消息持久化、消息重试机制)
接上一篇:RabbitMQ(一) | MQ技术对比,以及对RabbitMQ五种消息模型的使用消息从发送,到消费者接收,会经历多个过程:其中的每一步都可能导致消息丢失,常见的丢失原因包括:针对这些问题,RabbitMQ分别给出了解决方案:RabbitMQ提供了publisher confirm机制来避免消息发送到MQ过程中丢失。这种机制必须给每个消息指定一个唯一ID。消息发送到MQ以后,会返回一个结果给发送者,表示消息是否处理成功。返回结果有两种方式:首先,修改publisher服务中的applicati
2022-06-24 23:00:00
1170
原创 RabbitMQ(一) | MQ技术对比,以及对RabbitMQ五种消息模型的使用
MQ,中文是消息队列(MessageQueue),字面来看就是存放消息的队列。也就是事件驱动架构中的Broker。比较常见的MQ实现:几种常见MQ的对比:追求可用性:Kafka、 RocketMQ 、RabbitMQ追求可靠性:RabbitMQ、RocketMQ追求吞吐能力:RocketMQ、Kafka追求消息低延迟:RabbitMQ、KafkaRabbitMQ官方提供了5个不同的Demo示例,对应了不同的消息模型:建立一个父工程,包含两个SpringBoot子工程。如下图:demo工程地址:在父工程p
2022-06-24 22:45:00
726
原创 Docker | 安装RabbitMQ详细教程,以及安装遇到的问题:Stats in management UI are disabled on this node
一、前言鉴于前面看过几个用Docker安装RabbitMQ的文章,在自己安装他们的安装教程后都会遇到的一个问题,这里我就重新再写一遍Docker安装RabbitMQ流程(内心复杂,就不能好好的让我把你们的安装教程链接分享出去吗,还要我自己来写一篇,让广大程序员避坑)。前面多数是跟别的安装教程重复的,老手可略过。二、找到对应镜像进入docker hub镜像仓库地址:https://hub.docker.com/.左上角搜索框输入rabbitMq,进入官方的镜像,可以看到以下几种类型的镜像;我们可.
2022-06-24 18:35:29
7917
5
原创 Docker 挂载数据卷、查看数据卷、清理数据卷
Docker 挂载数据卷、查看数据卷、清理数据卷创建容器并设置数据卷挂载查看所有数据卷列表清除数据卷
2022-06-24 15:21:34
4790
原创 try(){}用法中,括号()的作用
属于Java7的新特性。经常会⽤try-catch来捕获有可能抛出异常的代码。如果其中还涉及到资源的使⽤的话,最后在finally块中显⽰的释放掉有可能被占⽤的资源。但是如果资源类已经实现了AutoCloseable这个接⼝的话,可以在try()括号中可以写操作资源的语句(IO操作),会在程序块结束时⾃动释放掉占⽤的资源,不⽤再在finally块中⼿动释放了。不使用括号(try{}使用:)InputStream is = null;OutputStream os = null;try {}
2022-05-13 10:04:25
4858
原创 MySQL 行转列
一、从图一转为图二图一:图二:二、SQL:图一sql:SELECT warehouse_code, operate_type, sum(qty) FROM `warehouse_operate_record`group by warehouse_code, operate_type;图二sql:SELECT a.warehouse_code, sum(if(a.operate_type = 'container', a.qty, 0)) AS contain
2022-04-22 15:22:40
146
原创 SpringBoot整合Redisson使用分布式锁,模拟茅台抢购场景
SpringBoot整合Redisson使用分布式锁,模拟茅台抢购场景一、前言介绍二、项目Demo2.1.Demo下载地址2.2.模拟用户抢购2.2.1.将库存缓存到redis2.2.2.JMeter设置线程数:2.2.3.JMeter设置http请求:2.2.4.调用结果三、POM依赖四、配置类,可配置单节点和集群五、参考博客一、前言介绍前段时间研究了下分布式锁,实现分布式锁也有很多种方案,有基于数据库,基于zookeeper,基于redis+lua。一般我们常用redis+lua进行实现,zooke
2022-04-01 23:00:00
5192
原创 InnoDB解决幻读的方案 -- LBCC&MVCC
InnoDB解决幻读的方案 – LBCC&MVCC最近看了一篇写的挺不错的文章,分享给大家,文章对LBCC和MVCC都做了比较详细的解释说明,看完会有一种通透的感觉:https://mp.weixin.qq.com/s/738dB9Da-AIbMuaQLgqlzA.
2022-04-01 20:45:00
494
原创 Git | 配置命令、项目命令、常见问题、git-crypt加密解密
这里写目录标题@[TOC](这里写目录标题)一、Git安装和配置1.linux上安装git:2.查看git配置信息3.查看git用户名、密码、邮箱的配置4.设置git用户名、密码、邮箱的配置5.设置git用户名、密码、邮箱的配置(全局配置):6.git生成公钥:7.查看密钥(linux):8.查看密钥(windows):二、操作项目-常用命令汇总1.常用命令2.git子模块命令:2.git报错:命令command not found四、扩展:git-crypt加密解密1.How to Encrypt Rep
2022-03-14 12:25:04
2368
1
原创 Linux上git pull等操作需要每次都输入用户名和密码等问题
在linux上拉取项目代码后,发现每次git pull都需要输入用户名和密码,设置全局的都没有用,终于找到解决方法,直接用以下的命令即可。git config --global credential.helper store使用此命令后还会需要输入一次用户名和密码,但是下一次就不需要了...
2022-03-14 12:23:11
3455
原创 不要再问我怎么设置Postman的环境变量和全局变量了
最近有同事问我怎么设置postman的环境变量和全局变量token,避免每次更换环境进行接口测试还需要手动改请求地址,也避免每次token后失效重新获取的token还需要手动替换。比如我们有三个环境,本地、测试、正式,一般正式不对外进行开放。下面就开始实操:一、设置环境变量(图片较多,尽量说的详细点)1.示例首先,打开新版的postman(旧版和新版有一点小区别,就是环境变量后面的图标可能变了),如下图:刚开始的时候我新建了一个请求,测试登录,看右上角是没有环境变量的,然后那个眼睛的图标其.
2022-01-06 10:06:29
16310
mybatis_plus-17版本.zip
2019-07-29
generator-Mybatis快速生成实体类和mapper文件
2018-08-01
mybatis_plus,idea快速从mapper进入xml工具-15版
2018-08-01
Mybatis快速生成实体类和mapperAndXml
2018-07-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人