自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Gateway路由谓词(断言)功能

Route Predicate Factories(路由断言工厂)是Spring Cloud Gateway中的一种机制,用于定义路由规则中的断言条件。在Spring Cloud Gateway中,路由断言工厂允许基于HTTP请求的各种属性(例如路径、主机、请求方法、请求头等)来匹配和过滤路由。这些断言条件决定了请求是否会被路由到特定的目标服务。简而言之,请求匹配到某条路由规则,则使用该路由。截至2024年3月18日,spring官网共给出了11种不同类型的路由谓词工厂,接下来我们逐一介绍。

2024-03-18 19:52:38 1809

原创 倒排索引(Inverted Index)

举个例子,一本书通常分成多个章节,每个章节对应的页码构成了目录,即最简单的索引。而倒排索引则相反,他可以针对“苹果”这一个关键词,对所有包含“苹果”的章节进行记录(章节号、页码等信息),当你寻找苹果时,就可以根据这一串信息直接获取到本书中所有包含“苹果”的位置。倒排索引的基本思想是将文档集合中的每个文档进行分词处理,然后建立一个词项到文档ID的映射关系。对文档进行分词,去掉停用词(如“的”、“是”等常见词汇),进行词干化等处理,以获得规范化的词项。对每个词项,记录包含该词项的文档ID列表。

2024-02-25 21:34:48 479 1

原创 正向代理与反向代理

反向代理(Reverse Proxy)是一种代理服务器的配置,它充当目标服务器和客户端之间的中间人,代表服务器处理客户端的请求。在反向代理的情况下,客户端向代理服务器发送请求,然后代理服务器将请求转发给目标服务器,最后将目标服务器的响应返回给客户端。在正向代理的情况下,客户端向代理服务器发送请求,然后代理服务器将请求转发给目标服务器,并将目标服务器的响应返回给客户端。与之相对的是正向代理,正向代理是代表客户端发送请求,而反向代理是代表服务器处理客户端的请求。它可以过滤和阻止恶意请求,提高系统的安全性。

2024-02-22 20:30:18 375 1

原创 设计模式-建造者模式

确定要构建的复杂对象的结构,并定义产品接口。

2024-02-21 19:34:29 1750

原创 RabbitMQ的工作模式

RabbitMQ是一个开源的消息队列中间件,支持多种消息传递模式。

2024-02-20 18:17:16 395 1

原创 java线程池

线程池是一种基于池化技术思想来实现的线程管理技术,主要是为了复用线程、便利地管理线程和任务、并将线程的创建和任务的执行解耦开来1。我们可以创建线程池来复用已经创建的线程,以降低频繁创建和销毁线程所带来的资源消耗1。

2024-02-19 19:29:48 362 1

原创 springMVC的工作流程

它是基于经典的MVC设计模式,用于将应用程序的不同方面分离,以提高代码的可维护性、可扩展性和复用性。不同的Controller可能有不同的方法,HandlerAdapter负责适配不同的方法签名。Controller是应用程序的业务逻辑核心,它接收请求,处理业务逻辑,然后返回ModelAndView对象。客户端(通常是浏览器)发送HTTP请求到服务器,请求特定的URL,这个URL会映射到Spring MVC的前端控制器。ModelAndView对象中的视图名被解析为实际的视图对象。

2024-02-18 20:08:01 364

原创 spring的依赖循环

举个例子,两个或以上Bean,A需要B,B需要C,C需要A,于是形成了一个循环:尝试创建A-需要B-尝试创建B-需要C-尝试创建C-需要A-尝试创建A……以此往复。在Spring中循环依赖一共可以分为两种情况:1.构造器循环依赖。this.a = a;this.b = b;this.a = a;其中第二类又可以细分为,单例模式下的循环依赖和prototype即多例下的循环依赖,而三种情况中,spring仅提供了对单例模式下属性循环依赖的解决方法。

2024-02-17 17:42:37 315 1

原创 Java中的Map集合介绍

Map是Java中集合的两大分类之一,Java概念中的集合与数学中的集合意义不同,Java中的集合是存储一组数据的容器。单列集合很容易理解,存储的便是一组数据,与数组类似,但数组长度不可变,集合的长度是可变的(ArrayList底层仍然是数组,扩容是通过创建一个新的更长的数组来实现,严格意义上来说只是对数组的封装、强化,但链表就不同了)。是早期的Map实现类,与HashMap类似,但线程安全,由于是早期的API,为了线程安全导致开销很大,效率较低,且没有对key的空值进行特殊处理,因此key不能为空,

2024-02-09 04:05:59 1847 1

转载 npm run 报错 ERR_OSSL_EVP_UNSUPPORTED

而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响。出现这个错误是因为 node.js V17版本中最近发布的OpenSSL3.0,修改后重新启动,启动成功。

2024-02-08 23:44:48 301

原创 JAVA面向对象

面向过程侧重于按顺序执行一系列步骤,强调函数(方法)和数据的分离,使用过程和函数来完成任务。与面向对象编程相比,缺乏抽象和封装,更直接地解决问题。

2024-02-01 23:43:17 775 1

原创 redis的安装及布隆过滤器安装

本文使用的是vmware+centos7。

2024-01-18 20:20:09 433 1

原创 产生死锁的必要条件

死锁:指两个或多个线程或线程在运行过程中,都陷入等待对方运行结束释放资源,但不释放自己已获得的资源的一种情况。是由于资源有限而产生的一种问题。产生死锁有以下四种必要条件,死锁一定符合其中至少一种条件,即任意一种都可能导致死锁的产生。

2024-01-17 21:12:13 368

原创 java创建对象的四种方式

步骤:先实现java.lang.Cloneable接口,并实现其定义的clone方法。随后可以通过自己定义的clone来克隆一个对象。3.使用clone方法(注意:引用对象需要自己重写,否则仅仅是浅拷贝,复制了一个对象的引用)1.使用new关键字。

2024-01-15 00:02:47 318

原创 数据库索引

现在数据的存储一般都采用B+树,会根据主键来构建一个聚簇索引(默认为主键索引,也可自己设定聚簇索引)存储数据,虽然根据主键id的随机访问由于B+树已经进行了排序相对较快,但是在查询条件中包含主键id以外的字段时,查找效率是非常低的,例如在根据姓名、电话号码等字段进行查找时,由于其行数据在存储时是无序的,不得不遍历比较表中所有行对应列的数据,在一个数据量庞大的表中这种查询的效率是无法忍受的。此外,由于需要维护索引的可靠性,在表的增删改过程中也需要不断更新索引,会降低查询以外操作的效率。

2024-01-11 21:39:05 326 1

原创 java中基本类型与包装类型的关系

日常开发中,推荐尽量使用包装类进行方法的接收参数声明,因为包装类的默认值都是null,即引用类型数据为空,由此可以判断传参是否存在错误,而使用基本数据类型时,由于默认值是0,难以判断传参是否发生错误。基本数据类型与其包装类还存在一些其他的差异,如基本数据一般保存在栈中,而包装类(即引用类型数据)保存在堆中,在栈中通过一个引用来指向包装类的实例对象,此处不作过深探讨。在日常开发中,如方法的参数列表中声明的是int或Integer,实际调用传另一种类型也可以,此处就是自动装箱与拆箱的应用。

2024-01-10 22:10:23 373 1

转载 Vue的生命周期

updated在页面DOM树改变后被调用,需要注意的是如果只是改变了dom中的数据(data),未对页面造成任何影响,就不会触发beforeUpdate,updated方法。beforeDestory是在Vue组件销毁之前被调用,destoryed在Vue组件销毁之后被调用。beforeDestory是在Vue组件销毁之前被调用,destoryed在Vue组件销毁之后被调用。beforeMount在页面尚未被渲染时使用,也就是Vue的数据没有传到页面。created可以理解为在数据初始化之后被调用,

2024-01-09 18:02:43 13

原创 Java中的时间日期类介绍

表示日期和时间的类,已经过时,不推荐使用。提供了对日期和时间字段进行操作的抽象类。Calendar类的具体实现,支持公历系统。用于格式化和解析日期的类。用于与数据库交互时表示日期的类。用于与数据库交互时表示时间的类。用于表示日期和时间戳的类,继承自java.util.Date。

2024-01-08 21:25:30 692

原创 SpringBoot框架中使用到的常见设计模式

【代码】SpringBoot框架中使用到的常见设计模式。

2024-01-07 23:31:54 1336

原创 dokcer常用命令

docker logs mysqlx

2024-01-05 01:14:37 323 1

原创 docker的安装与配置

记录安装虚拟机、安装docker的流程

2024-01-03 23:27:22 372

空空如也

空空如也

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

TA关注的人

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