自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 统一网关Gateway

全局过滤器的作用:对所有路由都生效的过滤器,并且可以自定义处理逻辑实现全局过滤器的步骤:1.实现GlobalFilter接口2.添加@Order注解或实现Ordered接口3.编写处理逻辑。

2025-09-23 16:12:04 783

原创 Feign

1.引入依赖-- feign客户端依赖-->2.在order-service的启动类添加注解开启Feign的功能@Autowired// 1.查询订单// 2.用feign远程调用// 3.封装user到order// 4.返回方式一:基于配置文件feign:client:config:default: # 配置全局的 feign 的策略feign:client:config:userservice: # 配置指定服务的 feign 的策略。

2025-09-21 23:18:32 303

原创 Nacos

Nacos(Naming and Configuration Service)是阿里巴巴开源的一款动态服务发现、配置管理和服务管理平台。它支持基于 DNS 和 RPC 的服务发现,提供动态配置服务,帮助用户更敏捷地构建云原生应用。

2025-09-20 23:26:52 556

原创 Eureka

Eureka 是 Netflix 开源的服务发现组件,基于 REST 实现,主要用于 AWS 云环境中的中间层服务发现与故障转移。其核心原理围绕服务注册、心跳续约、服务剔除和客户端缓存等机制展开。

2025-09-19 20:46:26 1015

原创 redis-----事务

Redis 事务是一组命令的集合,它可以保证这些命令要么全部执行,要么全部不执行,从而确保数据操作的原子性。watch要在MULTI之前使用。

2025-09-06 15:21:17 200

原创 redis----持久化

Redis 提供了两种主要的持久化机制,用于将内存中的数据保存到磁盘,以防止服务器重启或故障导致数据丢失。这两种机制分别是 RDB(Redis Database)和 AOF(Append Only File)。

2025-09-06 11:36:39 1000

原创 redis-----java客户端

我们Windows客户端想要访问redis服务器,就需要通过云服务器的外网IP来访问linux服务器,我们会想到修改外网IP,但是这是不够,redis的6379端口,默认是被云服务器的防火墙保护起来的,不能被外面访问,但是我们也访问不了,就可以在云服务器后台把防火墙6379端口放开,这样是不可以的,因为redis端口一旦公开在公网上,很容易被黑客攻击入侵。是 Spring Data Redis 框架中的一个类,用于在 Spring 应用程序中方便地操作 Redis 数据库,专门处理字符串类型的数据。

2025-09-02 19:29:32 610

原创 redis----zset详解

Redis 的 Zset(Sorted Set,有序集合)是一种兼具和的复合数据结构,在实际开发中常用于排行榜、延时任务、范围统计等场景。

2025-08-31 10:42:00 865

原创 redis---set详解

在 Redis 中,Set(集合)是一种无序、唯一的字符串元素集合,支持高效的成员添加、删除、查询以及集合间的交集、并集、差集等操作,适用于存储不重复的数据并进行关联分析(如共同好友、标签聚合等)。

2025-08-27 23:14:02 958

原创 redis----list详解

列表(List)相当于数组或者顺序表。

2025-08-25 19:12:08 1073

原创 redis----hash类型详解

hash类型的key通常用field表示。

2025-08-23 20:50:30 1110

原创 redis---string类型详解

Redis 的 string(字符串)类型是最基础也最常用的数据类型,它不仅能存储文本字符串,还能存储二进制数据和数字,具有灵活高效的特点。

2025-08-23 12:50:36 690

原创 redis---常用数据类型及内部编码

Redis 中每种常用数据类型都对应多种内部编码,这些编码会根据数据特征(如大小、数量)自动切换,以平衡存储效率和操作性能。

2025-08-20 17:22:25 518

原创 redis基础----通用命令

Redis 作为一款高性能的内存数据库1.高性能内存存储为主:数据主要存于内存,规避磁盘 I/O 延迟,读写速度极快,单机可轻松支撑每秒数十万次操作。• 高效 I/O 处理:采用 I/O 多路复用模型(如 epoll、kqueue 等),能同时高效处理大量客户端连接,在高并发场景下表现稳定。• 单线程核心:核心操作由单线程执行,避免多线程切换的开销和锁竞争问题,同时保证了操作的原子性(无需担心并发修改导致的数据不一致)。2.支持多种数据结构maxmemoryHASHSLOT。

2025-08-19 20:30:22 794

原创 Linux---第三天---权限

普通用户切换到root用户root用户切换到普通用户。

2025-08-07 21:38:07 723

原创 Linux---第二天---基础指令

• 对于目录:默认值为该目录下直接子目录的数量 + 2(. 代表自身,.. 代表父目录,各算一个硬链接)。第 3 列的名称(如示例中的 user)表示该文件的所属用户,只有该用户(或 root)默认拥有最高权限管理文件。• w(write):写权限(可修改内容,目录的写权限允许创建 / 删除文件)。• x(execute):执行权限(文件可运行,目录的执行权限允许进入该目录)。• 所有者(user)有读(r)和写(w)权限,无执行权限(-)→ rw-。(2)后 9 个字符:权限(分 3 组,每组 3 个)

2025-08-06 21:36:35 1428 1

原创 Linux---第一天---新建用户

m:在创建新用户时创建主目录,这个目录存放在home里面passwd 用户名。

2025-08-05 11:14:08 225

原创 JSON Schema

JSON Schema是用来效验json数据是否符合预期的。

2025-08-04 20:10:46 346

原创 YAML文件

YAML是一种数据序列化格式,常用于配置文件、数据交换和存储。其设计目标是简洁易读,同时支持复杂数据结构。

2025-08-04 19:14:12 616

原创 自动化框架pytest

pytest是一个基于Python的测试框架,广泛用于编写简单且可扩展的测试代码。它支持单元测试、功能测试和集成测试,适用于从简单脚本到复杂应用程序的测试场景。

2025-08-01 21:07:59 1120

原创 接口自动化测试以及requests

发起一个请求,会返回一个Response对象,通过以下方法查看返回的数据属性/⽅法描述响应状态码r.content字节⽅式的响应体,会⾃动解码gzip和deflate压缩r.headers以字典对象存储服务器响应头,若键不存在则返回Noner.json()Requests中内置的JSON解析⽅法,将响应体解析为JSON格式r.url获取实际请求的URLr.encoding编码格式,根据响应头部的字符编码确定r.cookies获取服务器设置的cookiesr.raw。

2025-07-31 23:06:13 972

原创 Git原理及使用

Git是分布式管理控制系统版本控制器:记录每次的修改以及迭代的一个管理系统可以控制电脑上的所有格式的文档它能高效管理项目开发过程中的代码变更,追踪文件修改历史,支持多人协作开发。

2025-07-23 11:40:02 2472 1

原创 在线抽奖系统测试报告

在线抽奖系统项目采用前后端分离架构,前端使用JavaScript和AJAX技术, 后端基于SpringBoot框架实现,数据库使用MySQL,缓存使用Redis,异步任务处理使用RabbitMQ,验证用户身份使用了JWT令牌技术。登录模块包含手机号密码登录和手机号验证码登录,对于未注册的用户可点击下方注册链接跳转至注册页面进行注册操作人员管理模块包括人员列表和注册用户,注册分为管理员注册和普通用户注册,普通用户由管理员注册,没有密码,无法登录管理系统奖品管理模块包括奖品列表和创建奖品,奖品列表支持翻页效果。

2025-07-18 10:04:20 874

原创 《一文搞定验证码:前后端完整代码》

页面展示效果验证码错误验证成功。

2025-04-27 09:54:32 477

原创 Mybatis操作数据库----小白基础入门

创建一个练习的接口在resources下创建一个xml的文件,只要是在resources下就行,文件名一般与接口名对应接口和xml文件是两个不同的文件,怎么才能让他们对应起来呢在yml文件中配置mybatis:classpath表示resources,mapper表示mapper文件夹,**是通配符,Mapper.xml是文件,就是找到以Mapper.xml结尾的文件在xml文件中添加固定格式</mapper>

2025-03-09 17:05:33 770 2

原创 HTML5新元素

HTML5 是 HTML(超文本标记语言)的第五个主要修订版本,由万维网联盟(W3C)和 Web Hypertext Application Technology Working Group(WHATWG)共同推动发展。它带来了许多新特性和改进,极大地提升了网页的功能和用户体验:语义特性,本地存储特性,设备兼容特性,连接特性,网页多媒体特性,三维,图形及特效特性,性能与集成特性,CSS特性。

2025-03-06 12:04:01 1403 3

原创 Spring Web MVC基础第一篇

Spring Web MVC 是 Spring 框架的一个模块,用于构建基于 Java 的 Web 应用程序。它遵循模型 - 视图 - 控制器(MVC)设计模式,将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller),以实现关注点分离,提高代码的可维护性和可扩展性。

2025-01-31 21:47:31 2333 11

原创 网络层协议-----IP协议

它是以8字节为单位计数的。D类地址:多播地址,对于传统的通信来说,都是一个一对一的关系,也就是给一台主机分配一个IP地址,再给另外一台主机分配一个IP地址,两台主机之间通过这两个IP地址进行通信,而多播地址是将多个主机分配到一个组里,然后再给这个组分配一个多播地址,通过这个多播地址就可以给多台主机发送同一份数据。1.对于A类地址,网络号为8位,由于第一位固定,0和127不可分配,所以可分配的网络号数量为2^7-2,剩下的24位为主机号,网络地址和广播地址不能分配,所以可以分配的主机数量为2^24-2。

2025-01-14 18:44:25 3143 27

原创 算法第二弹-----滑动窗口

滑动窗口是一种在数据序列(如数组、字符串等)上进行操作的技术。它通过维护一个固定大小(或可变大小)的窗口,在序列上滑动这个窗口来处理数据。这个窗口可以是连续的元素区间,通过不断地移动窗口,对窗口内的数据进行各种操作,比如统计窗口内元素的和、最大值、最小值等。

2024-12-12 21:34:01 1466 27

原创 算法第一弹-----双指针

双指针通常是指在解决问题时,同时使用两个指针(变量,常用来指向数组、链表等数据结构中的元素位置),通过对这两个指针的移动和操作来高效地处理数据、查找元素、遍历结构等,从而达到降低时间复杂度、优化算法的目的。两个指针起始位置可能相同或者不同,但它们朝着同一个方向移动,比如都从数组头部向尾部移动,常用于处理需要连续遍历部分区间、查找满足特定条件的子区间等问题。常使用快慢指针。

2024-12-04 18:19:19 1880 33

原创 文件操作---IO流

I/O简单来说就是输入输出I(input)输入:读取外部的数据,将数据读取到内存(程序)中(读)O(output)输出:将内存(程序)中的数据读取到外部设备中IO通过操作流对象来对文件进行读写流对象又分为两种:1.字节流:以字节为单位来处理输入输出操作2.字符流:以字符为单位来处理输入输出操作。

2024-11-28 15:34:50 817 10

原创 模拟回显服务器

回显指当本地终端向远端设备发送数据时,远端设备将接收到的数据再发送回本地终端显示出来的过程。比如我们在命令行中输入一些指令后,服务器返回的相关信息显示在命令行界面上,这就是一种回显情况,像用“ping”命令去测试网络连通性时,返回的如IP地址、响应时间等信息的显示就是回显的体现。

2024-11-14 16:57:00 452 3

原创 CSS基础

CSS规则由两个主要的部分构成:选择器以及一条或多条声明1.选择器是用于指定CSS样式的HTML标签,花括号内是对该对象设置的具体样式2.属性和属性值以“键值对”的形式出现3.属性是对指定的对象设置的样式属性,例如字体大小,文本颜色等4.属性与属性值之间用英文“:”分开5.多个键值对之间用英文“;”进行区分<style>写在<head>里面,哪一个标签需要,就将哪个标签作为选择器所有的标签都会被修改.类名{ }形式。

2024-11-11 20:09:17 946 2

原创 HTML基础

标签用于定义描述列表(或定义列表),该标签会与<dt>(定义项目/名字)和<dd>(描述每一个项目/名字)一起使用<dl><dt><dl></dl><dl></dl><dl></dl></dt></dl>1.<dl>

2024-11-10 14:15:45 1909

原创 JAVA-----线程池

把洗浴中心看成一个线程池,当有顾客进来消费时,那么就会有一个搓澡师傅对这个顾客执行任务,不断的有顾客进来,剩下的搓澡师傅就会为其服务,如果前面的搓澡师傅服务完上一个顾客,那么这个搓澡师傅就可以接待下一个顾客,但是当有一天生意火爆时,同一时间顾客数大于搓澡师傅的数量时,这些顾客就会阻塞等待搓澡完成手里的工作,再对其进行服务。在日常开发中,虽说创建销毁线程的开销要比进程小的多,但是频繁的创建销毁线程也消耗系统资源,然而使用线程池,线程池通过对线程的复用,从而达到减少系统资源开销的效果。

2024-10-27 20:40:13 1049 2

原创 手搓一个定时器

在看警匪片时,经常会有匪徒在银行安装定时炸弹,而这里的定时炸弹就可以看成一个定时器,当设定的时间到时,炸弹就会爆炸,而我们这里的定时器是当时间到时,就会执行相应的任务在这个类中成员属性分别为要执行的任务,以及任务执行的时间,还有一个构造方法});t.start();1.在这个类中有一个优先级队列,这个是用来给各个任务执行的先后顺序进行排序的2.schedule是用来将我们要执行的任务添加到优先级队列当中的。

2024-10-27 14:02:26 1027

原创 JAVA----单例模式

这种方式在成员位置声明Singlleton类型的静态变量,并创建Singleton类的对象instance。instance对象会随着类的加载而创建。如果对象足够大1的话,而一直没有使用就会造成内存的浪费。

2024-10-24 12:08:18 1508 1

原创 JAVA中线程安全问题

线程安全是指在多线程环境下,程序能够正确地执行而不会出现数据不一致、资源竞争等问题。简单来说,如果一个程序在运行时的结果符合我们的预期,那么这个程序就是线程安全的,反之,如果程序运行的结果和我们的预期不符,那么此时线程就是不安全的启动两个线程,分别对count进行50000次的++操作,然后打印count的值将上述代码多运行几次,我们会发现每一次的结果都是不一样的,且都是小于100000的出现上述这种情况就叫做“线程不安全”

2024-10-23 14:33:34 969

原创 JAVA线程的多种状态

当阻塞的原因消失后,线程会重新进入就绪状态等待执行。RUNNABLE状态表示就绪状态,意思是该状态的线程随时都可以被调度到CPU上运行或者已经在CPU上运行。创建了一个线程的对象,但是这个线程没有启动start,那么此时这个线程的状态就是NEW也就是新建状态。让t线程等待main线程执行完毕再去执行,t线程等待的过程状态就是RUNNABLE状态。这种状态属于带时间的线程阻塞,当阻塞时间一过就可以恢复至RUNNABLE状态。带时间的阻塞可以是sleep也可以是join,必须加上参数才是带时间的阻塞。

2024-10-20 17:31:52 409

原创 Thread的基本用法

在main线程中调用t.join,就是让main线程等待t线程先结束才执行,当执行到t.join,此时main线程就会“阻塞等待”一直等到t线程执行完毕,main线程才继续执行。这在多线程或多任务的环境中特别有用,可以提高程序的效率。一般来说,我们创建的线程都是前台线程,只有当一个进程里的前台线程都结束,后台线程才能结束,前台线程相当于领导,领导没走完,下属不能离开。将t线程设置为后台线程,前台线程运行10秒后结束,后台线程t也会跟这main的结束而2结束,设置为后台线程后,t线程无力住址进程的结束。

2024-10-20 10:29:42 885

空空如也

空空如也

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

TA关注的人

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