自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 IDEA快捷键

2023-08-16 23:13:14 62

原创 Docker的安装使用命令

官网地址: https://docs.docker.com/engine/install/centos/

2023-07-30 22:19:31 82

原创 Liunx服务器yum镜像安装mysql8数据库

下载MySQL源安装MySQL源默认情况下自动安装最新版的MySQL,即8.0.32启动MySQL修改MySQL密码退出exit。

2023-06-17 23:21:40 230

原创 RabbitMQ死信队列和延时队列的使用(三)

1、死信队列 因为某些原因导致消息在queue里面无法被消费,并且这些消息没有后续的处理,那么这些消息就称为死信,后续处理死信的队列就是死信队列。 1.1、产生死信的来源 消息TTL过期; 队列达到最大长度,无法添加数据到队列中; 消息被拒绝并且没有设置直接丢弃; 1.2、模型图 1.2.1、TTL过期实例 import com.example.wwy.rabbit.units.ChannelUnit; import com.rabbitmq.client.AMQP; import com.rabbi

2022-02-19 21:01:55 999

原创 RabbitMQ的交换机使用(二)

1、RabbitMQ交换机的概念 RabbitMQ传递消息的核心思想:生产者生产的消息不会直接发送到队列,只能将消息发送到交换机exchange; 交换机的工作内容很简单,一方面接收生产者发过来的消息,另一方面推送到队列中; 交换机知道如何处理接收到的消息,是把这些消息放到特定的队列还是丢弃它们,就由交换机的类型决定。 1.1、交换机的类型 直接类型(direct) 扇出类型(fanout) 标题类型(headers) 主题类型(topic) 1.2、直接类型(direct)默认的exchange

2022-02-17 10:07:54 332

原创 RabbitMQ的发布确认机制

1、发布确认的原理 生产者将信道设置成confirm模式,所有在该信道上面发布的消息都将会被指派一个唯一的ID(从1开始), 一旦消息被投送到匹配的队列之后,broker就会发送一个确认消息给生产者(包含消息唯一的ID), 如果消息和队列是可持久化的,那么确认消息将在写入磁盘之后发送确认消息给生产者 confirm模式最大的好处就是异步的,可以一边等待消息的返回,同时可继续发布下一条消息。 当消息最终得到确认之后,生产者应用便可以通过回调方法来处理该确认消息, 如果 RabbitMQ 因为自身内部错误导致消

2022-02-16 11:04:25 1043

原创 RabbitMQ的不公平分配和持久化

1、RabbitMQ的不公平分配 RabbitMQ默认采用的是轮循分发,但实际项目中可能某一个消费者处理的速度快,某一个处理的速度慢, 这个时候用轮循分发就会导致速度快的很长一段时间处于空闲状态,处理慢的就一直在干活。 为了避免上述情况: //消费者端开启不公平分配 channel.basicQos(1); 开启之后,意思就是说,我这一个消息还没有处理完或者说我还没有应答你,请你先不要分配消息给我; 这时候只能把新的消息分发给其它空闲的消费者。 1.1、预期值概念 RabbitMQ本身消息就是异步

2022-02-15 16:01:19 1165

原创 rabbit mq的简单使用(一)

https://www.rabbitmq.com/getstarted.html 1、Hello World! 1.1、导入依赖 <!--指定 jdk 编译版本--> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId&

2022-02-15 10:55:55 270

原创 rabbit mq的安装Liunx教程(及遇到的一些问题)

1.比较复杂的安装方式(不建议使用) 官网地址:https://www.rabbitmq.com/download.html 下载地址:https://packagecloud.io/rabbitmq 环境:centOs8 1.1.首先下载安装包 1.2.安装程序 1.2.1.将下载的安装包上传到 /usr/local/rabbitmq(目录不存在则创建) 1.2.2.按以下方式执行命令 rpm -ivh erlang-21.3-1.el7.x86_64.rpm 安装erlang环境 erl查是否

2022-02-12 20:05:45 1157

原创 redis使用总结

学习总结 命令 解释 select 0 切换数据库1,默认有16个数据库0-15 dbsize 查看当前数据库存在的值的大小 keys * 查看所有的key值 flushdb 清空当前数据 flushdball 清空所有的数据 exists name 判断是否存在name的key move name 移除当前为name的key expire name 10 设置name的过期时间还剩余10秒 ttl name 查看name的剩余时间 type name

2022-01-17 16:55:01 677

原创 Liunx下安装redis6.2.6

1.下载安装包 https://redis.io/ 2.传到liunx服务器上,并且解压文件 到redis存放目录下执行解压命令 tar -zxvf redis-6.2.6.tar.gz 3.进入redis解压目录可以看到配置文件 cd redis-6.2.6/ 4.基本的环境安装gcc-c++ yum install gcc-c++ 安装完成之后执行一下make命令,把所需要的配置文件全部配置上 make make install 再次执行make就会多了个redis 5.系统默认的

2022-01-14 23:05:27 492

原创 MySql在Liunx下的安装教程

1.下载安装包 先打开https://dev.mysql.com/downloads/mysql/选择要下载的版本 2.检查环境有没有安装过mariadb 注意:centOs会默认安装,为了避免冲突,先行卸载 rpm -qa|grep mariadb 卸载命令: rpm -e mariadb.XXX --nodeps 3.创建存放的文件夹,解压jar包 在/user/local下创建 mkdir mysql 将之前下载的jar包存放到该文件夹下面 tar -xvf mysql-8.0.27-1.el

2022-01-14 21:46:11 446

原创 Linux安装jdk1.8和配置环境变量

第一步:创建jdk安装目录 mkdir -p /user/local/src/jdk 第二步:查看安装程序 rpm -qa | grep -i jdk 第三步:命令下载jdk包 安装下载程序的依赖包 : yum -y install wget 去官网https://www.oracle.com/java/technologies/downloads/ 找需要安装的后缀为tar.gz的文件:如jdk-8u131-linux-x64.tar.gz wget --no-check-certificate -

2022-01-14 14:45:47 521

原创 junit5单元测试的一些心得

Spring Boot 2.2.0 以后的版本开始引入 JUnit 5 作为单元测试默认库 JUnit Platform: Junit Platform是在JVM上启动测试框架的基础,不仅支持Junit自制的测试引擎,其他测试引擎也都可以接入。 JUnit Jupiter: JUnit Jupiter提供了JUnit5的新的编程模型,是JUnit5新特性的核心。内部 包含了一个测试引擎,用于在Junit Platform上运行。 JUnit Vintage: 由于JUint已经发展多年,为了照顾老的项目,J

2022-01-12 09:58:50 539

原创 springboot整合mybatisplus 自动代码生成器

AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极大的提升了开发效率。 官方文档链接:https://baomidou.com/pages/d357af/#%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B 1、依赖引入 MyBatis-Plus 从 3.0.3 之后移除了代码生成器与模板引擎的默认依赖,需要手

2022-01-11 11:06:30 304

原创 springboot整合Mybatis-plus

mybatis官网:https://baomidou.com/ 建议安装 MybatisX 插件 1、引入xml配置 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.1</version> </depe

2022-01-11 10:22:54 198

原创 Springboot整合Mybatis

1、数据访问 1.1、引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jdbc</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <art

2022-01-07 17:08:23 866

原创 MySql安装教程

1、官网下载地址:(很慢) https://downloads.mysql.com/archives/community/ 2、中国科学技术大学开源软件镜像 MySQL下载地址为: http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/ 3、清华大学开源软件镜像站 https://mirrors.tuna.tsinghua.edu.cn/mysql/ 1、直接解压目标文件夹 2、在根目录下增加配置mysql.ini 注意修改 basedir和datadi

2022-01-06 16:43:08 181

原创 spring boot框架知识点整理(二)

1、DevTools 热部署 1.1 在pom.xml引入相关配置 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependenc

2022-01-06 11:35:04 212

原创 spring boot框架知识点整理(一)

1.1 依赖管理 配置文件里见到很多 spring-boot-starter-*: *就某种场景 只要引入starter,这个场景的所有常规需要的依赖都会自动引入 官方地址: https://docs.spring.io/spring-boot/docs/current/reference/html/using-spring-boot.html#using-boot-starter 见到 *-spring-boot-starter: 就是第三方为提供的简化开发的场景启动器。 默认版本号查看方式:p

2021-12-31 10:22:02 350

原创 Spring读取properties文件的值

properties文件读取方式

2021-12-28 18:01:30 1595

原创 Spring mvc简单总结

1.什么是MVC: MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。 2.spring mvc的执行原理 DispatcherServlet表示前置控制器,是整个SpringMVC的控制中心。 HanderMapping处理器映射器,根据请求的url找到对应的handler。 HandlerExecution将解析信息传给DispatcherServlet。 HandlerAdapter处理器适配器,按照路径去执行Handler Controlle

2021-12-28 11:51:04 141

原创 Spring框架复习总结

最近在复习spring5框架,总结一下工作中常用的一些方法的原始方法。 Spring之IOC详解(工厂设计模式,反射) 所属spring的jar包 对象初始化DI注入 ,如果对象里面包含其它对象,用 ref 引入; 基于注解方式实现属性的注入的几种方式 bean的生命周期 实际来讲有七步,继承BeanPostProcessor实现其方法,就会在执行初始化之前后来调用其方法: 抛弃XML文件,完全注解开发 功能快捷键 撤销:Ctrl/Command + Z 重做:Ctrl/C

2021-12-27 16:25:38 249

原创 记录工作中遇到的问题(mysql优化规则之——exists与in)

记录工作中遇到的问题: 最近遇到了第三方接入我们系统,导致部分数据查询不到,查看了系统的请求时间,发现请求超时了,数据量比较大有2千多万条,做了分表;初步怀疑nginx的对请求时间做了限制(默认60s),同时优化查询SQL。 检测发现这一段耗时比较长; 根据优化原则:小表驱动大表(t表的数据量比t1表的数据量大,查询条件交换解决); 时间从3S提升到2ms。 总结: 当A表数据与B表数据一样大时,in与exists效率差不多,可任选一个使用. in 和 exists的区别: in的对应条件只能一个,e

2021-11-30 10:58:01 770

空空如也

空空如也

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

TA关注的人

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