自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Nginx

是一个高性能的和服务器,也可以作为,也能够进行。

2024-06-17 21:15:37 343

原创 RabbitMQ

★幂等性消息重复投递★。

2024-06-17 21:00:38 640

原创 java基础部分

★引用类型★。

2024-06-15 16:13:40 402

原创 Redis

★缓存穿透缓存击穿缓存雪崩?★。

2024-06-15 14:54:22 684

原创 MyBaits

一级缓存。

2024-06-15 09:57:02 204

原创 Spring

★4.IOC容器构建流程?★1.Spring和和的区别?①值可变性Spring中的值是final修饰的,不可变,当试图修改这个不可变值时等于创建一个新的对象。和则是可变的②Spring:值不可改(安全)自带锁(安全)值可改,无锁(不安全)③Spring:每次修改创建新对象(效率最慢)值可改但自带锁(效率高于Spring但低于SpringBuilder)值可改,无锁(效率最快)2.

2024-06-14 21:32:16 1141

原创 JVM基础

大部分对象在Eden区中生成。回收时先将eden区存活的对象复制到一个s0区,然后清空eden区,当这个s0区,也存放满了时,则将eden区和s0区存活对象复制到另一个s1区,然后清空eden和这个s0区,此时s0区是空的,然后将s0区和s1区交换,即保持s1区为空,如此往复.开始,寻找对应的引用节点,找到这个节点以后,继续寻找这个节点的引用节点,当所有的引用节点寻找完毕之后,剩余的节点则被认为是没有被引用到的节点,即可以当作垃圾。(所有的线程共享一份).存放对象的,new的对象都存储在这个区域。

2024-06-06 20:45:15 758

原创 基础MySQL

MySqlMySql1.连接查询(以小表为基准)[先查小表,根据小表遍历大表]1.左连接(左外连接)以左表为基准进行查询,左表数据会全部显示出来,右表 如果和左表匹配 的数据则显示相应字段的数据,如果不匹配,则显示为 NULL;2.右连接right join(右外连接)以右表为基准进行查询,右表数据会全部显示出来,左表 如果和右表匹配 的数据则显示相应字段的数据,如果不匹配,则显示为 NULL;2.聚合函数聚合函数:SQL中提供的可以用来统计、计算、求最值等COUNT。

2024-06-05 21:32:15 1022 1

原创 Servlet生命周期

面试题。

2024-04-12 09:26:41 500

原创 MQ:延迟队列

该种方式可以创建一个承载不同超时时间消息的消息队列,但是这种方式有一个问题,如果消息队列中排在前面的消息没有到超时时间,即使后面的消息到了超时时间,先到超时时间的消息也不会进入死信队列,而是先检查排在最前面的消息队列是否到了超时时间,如果到了超时时间才会继续检查后面的消息。上述实现方式中,ttl延时队列中所有的消息超时时间都是一样的,如果不同消息想设置不一样的超时时间,就需要建立多个不同超时时间的消息队列,比较麻烦,且不利于维护。

2024-04-10 15:14:08 2043

原创 SpringBoot整合RabbitMQ

Bean //启动多次为什么不报错?启动的时候,它会根据这个名称Direct_Q01先去查找有没有这个队列,如果有什么都不做,如果没有创建一个新的。//1.启动的时候,它会根据这个名称Direct_E01先去查找有没有这个交换机,如果有什么都不做,如果没有创建一个新的。2. 配置RabbitMQ连接。

2024-04-09 15:07:14 1287

原创 交换机与队列的介绍

1.流程首先先介绍一个简单的一个消息推送到接收的流程,提供一个简单的图黄色的圈圈就是我们的消息推送服务,将消息推送到 中间方框里面也就是 rabbitMq的服务器,然后经过服务器里面的交换机、队列等各种关系(后面会详细讲)将数据处理入列后,最终右边的蓝色圈圈消费者获取对应监听的消息。2. 交换机类型(面试题)常用的交换机有以下三种,因为消费者是从队列获取信息的,队列是绑定交换机的,所以对应的消息推送/接收模式也会有以下几种:直连型交换机,根据消息携带的路由键将消息投递给对应队列。

2024-04-09 15:05:28 962

原创 MQ 死信队列

/.ttl(10*1000) //该属性是队列的属性,设置消息的过期时间,消息在队列里面停留时间n毫秒后,就会把这个消息投递到死信交换机,针对的是所有的消息。//.maxLength(20) //设置队列存放消息的最大个数,x-max-length属性值,当队列里面消息超过20,会把队列之前的消息依次放进死信队列。// // 处理失败,可以选择重试或拒绝消息(basicNack或basicReject) NO。// // 处理消息…

2024-04-09 15:04:46 592

原创 Redis面试题

应该使用scan 命令来进行模糊查找,在百万keys进行模糊查找,使用keys是不可取的,因为它可能会阻塞 redis线程,而每次调用scan 命令都会返回一个新的游标和一批键名,可以分批查找 ,这样就不会造成线程的阻塞,提高了查询效率。1、在发现缓存没有数据后,在执行查询数据库前,对该Key进行加锁,查询数据库并放入缓存后再解锁,这样可以避免缓存击穿问题,当某个redis数据不存在时,大量线程并发查询数据库。之后其他线程再查询缓存,发现没数据,再次查询数据库及放入缓存都是新数据。保证缓存和数据一致性。

2024-03-29 17:53:15 576

原创 lua脚本操作Redis

一次扣减多个商品的库存。一次扣减一个商品库存。

2024-03-29 11:18:04 553

原创 Redis常用命令

常用命令面试题:(掌握)在百万keys的Redis里面,如何模糊查找某个key?应该使用scan 命令来进行模糊查找,在百万keys进行模糊查找,使用keys是不可取的,因为它可能会阻塞 redis线程,而每次调用scan 命令都会返回一个新的游标和一批键名,可以分批查找 ,这样就不会造成线程的阻塞,提高了查询效率。1.StringSET“OK”get key01“value01”#设置value,同时设置key过期时间,单位秒“OK”TTL key02SETEX。

2024-03-29 08:50:01 731

原创 面试题nginx

我们还使用了 proxy_set_header 指令设置了一些请求头信息,如 X-Real-IP 、 Host 和 X-Forwarded-For ,以便后端服务器能够正确处理请求和获取客户端的真实IP地址。它可以根据不同的策略(如轮询、IP哈希、最少连接数等)将请求分发到不同的服务器上,以达到优化资源利用和提高系统性能的目的。这样,当客户端发送请求到 example.com/api/ 时,Nginx会将请求转发到后端服务器上的API服务,并实现负载均衡。这样可以实现负载均衡,提高系统的可靠性和性能。

2024-03-28 11:30:08 809

原创 Vue前端项目打包

3. try_files:设置文件查找规则为 $uri $uri/ /index.html。即3个规则,先从 $uri 查找,再从 u r i / 目录中查找,最后查找 / i n d e x . h t m l。2. index:设置目录的默认文件为 index.html 、index.htm、index.php。4.2 前端项目 nginx的配置文件default.conf 和 dockerfile。1.root:设置静态根目录为 /usr/share/nginx/html。

2024-03-28 11:29:02 249

原创 Java项目基于Docker打包发布

docker tag [ImageId] registry.cn-beijing.aliyuncs.com/beiyou123/beimao:[镜像版本号]$ docker push registry.cn-beijing.aliyuncs.com/beiyou123/beimao:[镜像版本号]docker pull registry.cn-hangzhou.aliyuncs.com/206/beimao:[镜像版本号]2.新建dockerfile。#查看是否已经copy进去。#配置容器暴漏的端口。

2024-03-28 11:27:25 601

原创 Redis慢日志

6)客户端名称 (仅 4.0 以上版本支持,默认名称为空,需要通过 client setname 命令进行设置)SLOWLOG 是用来读取和重置 Redis 慢查询日志的命令,Redis 2.2.12 版本开始支持。Redis 慢查询日志统计的时间,只包含第三步的 Redis 命令从开始执行到执行完成的时间。可以使用 SLOWLOG GET N 命令来读取慢日志,查询最近的 N 条记录。Redis 慢查询日志的时间阈值,单位微妙。慢查询日志是记录在内存中的,记录速度非常快。2.慢查询日志的两个配置项。

2024-03-28 11:25:47 479

原创 SpringBoot使用Redis

1.Redis面试题-缓存穿透,缓存击穿,缓存雪崩1 穿透: 两边都不存在(皇帝的新装) (黑名单) (布隆过滤器)2 击穿:一个热点的key失效了,这时大量的并发请求直接到达数据库. (提前预热)3 雪崩:大量key同时失效 (避免大量的key同一时间失效,错峰)2.Spring是如何集成Redis的?![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/dfc323975c454cb295f1edc6c7c14fd2.png)

2024-03-28 11:25:08 572

原创 Redis基础

6.Redis 结构体特质 特征String字符串、Number、图片二进制安全,最大512MBBitMapbitHashList队列 左 < – > 右Set无序集合,唯一zSET有序集合,唯一。

2024-03-27 08:57:21 797

原创 Docker常用命令

Docker常用命令1.docker 基础命令启动docker关闭docker重启dockerdocker设置随服务启动而自启动查看docker 运行状态查看docker 版本号信息docker 帮助命令忘记了某些命令便可使用此进行查看与回顾比如 忘记了 拉取命令 不知道可以带哪些参数 咱可以这样使用2.镜像命令查看镜像列表搜索镜像docker search 镜像名搜索 STARS >9000的 mysql 镜像拉取镜像。

2024-03-21 09:01:43 1714 1

原创 Linux网络工具netstat & telnet的使用

表示收到的数据已经在本地接收缓冲,但是还有部分没有被进程取走,recv()如果接收队列Recv-Q一直处于阻塞状态,可能是遭受了拒绝服务 denial-of-service 攻击;表示收到的数据已经在本地接收缓冲,但是还有部分没有被进程取走,recv()如果接收队列Recv-Q一直处于阻塞状态,可能是遭受了拒绝服务 denial-of-service 攻击;netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。可接受短暂的非0情况。

2024-03-20 09:03:58 1681 1

原创 Linux防火墙和常用命令

防火墙一、防火墙的开启、关闭、禁用命令(1)设置开机启用防火墙:systemctl enable firewalld(2)设置开机禁用防火墙:systemctl disable firewalld(3)启动防火墙:systemctl start firewalld(4)关闭防火墙:systemctl stop firewalld 或 systemctl stop firewalld.service(5)检查防火墙状态 systemctl status firewalld。

2024-03-20 09:02:34 16261 1

原创 Linux密令

一.yum安装软件:1.安装yum包:yum install package_name2.yum包装:yum remove package_name3.搜索yum包: yum search package_name二.防火墙密令:1.设置开启防火墙:systemctl start firewalld2.设置关闭防火墙:systemctl stop firewalld 或 systemctl stop firewalld.service。

2024-03-20 09:00:51 549 1

原创 [Spring] IOC

IOC (Inverse of Control)即控制反转:由ioc容器来创建依赖对象,程序只需要从IOC容器获取创建好的对象。原来:​ 我们在获取对象时,都是采用new的方式。是主动的。现在:​ 我们获取对象时,同时跟工厂要,有工厂为我们查找或者创建对象。是被动的。​​ 这种被动接收的方式获取对象的思想就是控制反转,它是spring框架的核心之一。在Spring中,bean作用域用于确定bean实例应该从哪种类型的Spring容器中返回给调用者。

2024-01-04 20:05:38 791 1

原创 [Spring]基于注解的IOC配置

学习基于注解的IOC配置,大家脑海里首先得有一个认知,即注解配置和xml配置要实现的功能都是一样的,都是要降低程序间的耦合。只是配置的形式不一样。

2024-01-04 19:53:37 836 1

原创 MyBatis缓存

为什么使用缓存?首次访问时,查询数据库,并将数据存储到内存中;再次访问时直接访问缓存,减少IO、硬盘读写次数、提高效率Mybatis中的一级缓存和二级缓存?①一级缓存:它指的是mybatis中的SqlSession对象的缓存。当我们执行完查询之后,查询的结果会同时存在在SqlSession为我们提供的一块区域中。当我们再次查询同样的数据,mybatis会先去SqlSession中查询是否有,有的话直接拿出来使用。当SqlSession对象消失时,Mybatis的一级缓存也就消失了。

2023-12-25 19:37:50 46

原创 MyBatis的ORM映射(MyBatis的配置文件)

MyBatis只能支持自动维护库表的<列名>与<属性名>相同时的对应关系,二者不同。

2023-12-20 19:43:43 66 1

原创 MyBatis的增删改查(CRUD)

含蓄的小简介😋:还在愁 MyBatis 增删改查不会用?度大糊课堂开课了,一篇文章打通你增删改查的“任督二脉”!增(含2种主键回填方法)

2023-12-19 21:59:23 65 1

原创 Switch和for循环语句的应用

Switch语句支持int类型,byte类型,short类型,int类型,enum类型,String类型。Switch表达式必须有default,如有多行语句用yield返回并赋值。default(当switch的key值与所有case的值都不匹配时,默认执行default)yield(返回赋值 [如果有多行语句,可以使用yield返回并赋值])实例:1+2+3...+100和11~1循环代码。break(停止循环)switch(开关)

2023-10-13 19:42:33 205

原创 Scanner输入

【代码】Scanner输入。

2023-10-12 20:08:24 44

原创 日历(java.util.Calendar类)

等日历 字段之间的转换提供了一些方法,并为操作日历字段(如获得下星期的日期) 提供了一些方法。Calendar 类中定义了许多常量,分别表示不同的意义。类是一个抽象类,但是它提供了一个 getInstance() 方法来获得。Calendar 类是一个抽象类,它为特定瞬间与。Calendar 对象可以调用。取负数时表示公元前。Calendar 对象调用。对象,其日历字段已由当前日期和时间初始化。方法可以获取有关年、月、日等时间信息,参数。创建 Calendar。方法将日历翻到任何一个时间,当参数。

2023-10-11 21:17:27 146

原创 比较运算符(关系运算符)

1. 基本类型的变量、值不能和引用类型的变量、值使用 == 进行比较;boolean 类型的变量、值不能与其他任意类型的变量、值使用 == 进行比较;当用于引用类型比较时,比较的是两个引用是否指向同一个对象,但当时实际开发过程多数情况下,只是比较对象的内容是否相当,不需要。由于计算机内存放的实数与实际的实数存在着一定的误差,如果对浮点数进行 ==(相等)或!关系运算符的优先级为:>、<、>=、<= 具有相同的优先级,并且高于具有相同优先级的!系,那么它们的变量也不能使用 == 进行比较。

2023-10-10 19:22:05 302 1

原创 Git 分布式版本控制系统的安装和配置

下载https://github.com/git-for-windows/git/releases/download/v2.42.0.windows.2/PortableGit-2.42.0.2-64-bit.7z.exe。最终我们使用的是 D:\11\Git\bin\git.exe。在Path环境变量上,新增 d:\11\Git\bin。进入命令控制台 cmd 查看git版本号。将Git软件解压到D:\Git目录下。git-scm.com 官网。

2023-10-10 09:09:13 109 1

原创 Java程序注释

文件注释,类注释,属性注释,方法的注释这些注释和类的结构属性和一个javadoc.exe命令相关,javadoc命令可以根据文字的这些信息,快速生成类的api参考网页。//ctrl + shift + / 块注释,多行注释。用于对单行内容进行注释。2.多行注释(块注释)

2023-10-08 20:51:54 74 3

空空如也

空空如也

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

TA关注的人

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