- 博客(39)
- 收藏
- 关注
原创 SpringAI快速入门
摘要:本文介绍了人工智能(AI)的基本概念及其在现代社会中的广泛应用。重点讲解了AI领域的核心术语,包括模型、大语言模型(LLM)、提示词和词元(Tokens)等概念。同时详细说明了如何在IDEA开发环境中接入DeepSeek模型,包括环境准备、API key获取、项目初始化等具体步骤。
2026-03-24 19:27:20
234
原创 Redis经典应用-分布式锁
摘要:分布式锁是解决分布式系统中多节点访问公共资源的关键技术。Redis通过SETNX命令实现加锁,并设置过期时间防止死锁。解锁时需要验证服务器标识,确保安全性。为提高原子性,推荐使用Lua脚本替代事务。针对锁过期问题,可采用"看门狗"机制动态续约,平衡业务执行和锁释放时间。该方案有效解决了分布式环境下的线程安全和资源竞争问题。
2026-03-10 22:03:46
401
原创 Redis缓存
摘要:Redis作为非关系型数据库,常被用作MySQL的缓存以提升性能。其缓存策略包括定期生成(统计热点数据)和实时生成(动态更新),并采用FIFO、LRU、LFU等内存淘汰策略管理数据。常见问题包括缓存穿透(无效请求)、缓存雪崩(大规模失效)和缓存击穿(热点key失效),可通过布隆过滤器、监控报警、热点key永不过期等方法应对。缓存预热可缓解初始压力,结合定期与实时策略优化性能。
2026-03-10 15:42:40
331
原创 Redis集群
本文介绍了Redis集群的核心概念与实现机制。首先区分了广义和狭义的集群概念,重点解析了Redis集群的数据分配算法:哈希求余、一致性哈希和Redis采用的哈希槽分区算法(CRC16(key)%16384)。哈希槽算法结合了前两者的优势,在数据均衡和扩容成本间取得平衡。其次详细阐述了集群的故障处理流程:通过PING包检测节点状态,Gossip协议传播故障信息,半数以上节点确认后标记FAIL状态;故障转移时从节点根据数据同步程度竞选主节点,由其他主节点投票选出新主节点。文章强调集群扩容的高风险性,建议谨慎操作
2026-03-09 23:54:28
484
原创 Redis哨兵(Sentinel)机制
上一篇博客中,我们详细介绍了Redis的主从模式在主从模式中,写操作主要依赖于主节点,且只能有一个主节点,一旦主节点挂了,则无法进行写操作,且需要通过人工进行恢复通过人工进行恢复有着不可靠性,那么,我们有没有什么方法通过自动化的手段来解决主节点挂了的问题.有的兄弟,有的,Redis中,哨兵机制就是用来解决这个问题。
2026-03-08 23:35:33
250
1
原创 Redis主从复制
摘要 Redis主从模式是分布式系统中解决单点问题的关键方案。该模式通过一个主节点负责写操作,多个从节点负责读操作,实现了读写分离和数据冗余。主从配置可通过配置文件或命令行实现,支持全量复制、部分复制和实时复制三种同步方式。全量复制首次建立连接时执行,部分复制优化后续同步开销,实时复制则通过TCP长连接保持数据一致性。这种架构显著提升了系统的并发处理能力和可用性,同时支持异地多活部署以应对机房级故障。
2026-03-08 19:18:11
533
原创 Redis中的事务
提起事务的属性,我们通常会联想到MySQL中事务的属性(原子性,一致性,持久性,隔离性),接下来将从这4个属性分析redis事务的属性原子性:redis中,事务将多个操作打包在一起,不可拆分,要么全部执行,要么都不执行,但相较于MySQL事务的原子性,redis并不保证失败操作的处理,不会进行回滚.:redis中的事务缺失约束,也没有回滚机制,事务执行过程中某个操作出现失败,则会影响到数据的一致性,因此redis事务不具备一致性.
2026-03-06 00:43:25
208
原创 redis持久化
在学习Mysql时,曾经接触过Mysql的持久性,指让数据能够长久的保存.redis中的持久化实际上与Mysql中的持久性差别不大,将数据存储在硬盘上.在redis中,为了实现持久化,需要将数据存储到内存与硬盘上,每当插入一个数据时,需把数据同时存储在硬盘与内存(
2026-03-05 22:56:35
372
原创 [项目实践]言聚论坛(后端)
状态码对于我们发现bug类型,发现bug发生位置具有重大作用,通过状态码,我们可以高效的管理代码中的错误.在common包下定义一个枚举类,通过枚举,罗列我们所需要的状态码与提示信息.在common包下定义一个管理返回结果的类,这个类中有定义三个属性code,message,data.再在类中定义多个重载返回,分别表示成功事不传参数,成功时传一个参数.....如这样,我们就实现了controller层统一返回结果.
2025-12-23 21:44:12
875
原创 【Javase】方法与数组
数组:可以看成是相同类型元素的一个集合。在内存中是一段连续的空间。比如现实中的车库:数组中存放的元素其类型相同数组在内存中占用的空间是连续的每个空间都有自己的标号,从零下标开始(类似上图中车位的号码)
2025-02-24 14:00:24
863
原创 【javase】运算符
在上一篇中,主要介绍了数据类型与变量相关知识【Javase】数据类型与变量-CSDN博客在此篇章中,将介绍运算符相关知识,理解什么是运算符,学会使用算术运算符,关系运算符,位运算符,重点掌握逻辑运算符,以及了解位移运算符。并学习运算符的优先级。目录一.算术运算符1.基本运算符(+ - * / %)2.增量运算符(+= -= *= /= %=)3.自增/自减运算符(++ --)二.关系运算符三.逻辑运算符(重点)1.逻辑与(&&)2.逻辑或(||)3.逻辑非(!4.短路求值四.位运算符1.按位与(&)
2025-02-18 13:18:03
1018
原创 【Javase】数据类型与变量
在初识Java后,本篇将进一步介绍Java的基础知识。【Javase】初识Java-CSDN博客在本篇中,将着重介绍java中的数据类型与变量相关知识。目录一.数据类型1.基本数据类型2.引用数据类型二.常量1.概念2.语法3.整型变量1)整型变量(int)2)长整型变量(long)3)短整型变量4)字节型变量4.浮点型变量1)双精度浮点型(double)2)单精度浮点型(float)5.字符型类型6.布尔型变量7.字符串类型1)int类型转换为String类型三.类型转换与类型提升1.类型转换。
2025-02-17 11:54:55
1061
原创 【Javase】初识Java
Java是一种优秀的程序设计语言,它具有令人赏心悦目的语法和易于理解的语义。不仅如此,Java还是一个有一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于嵌入式系统、移动终端、企业服务器、大型机等各种场合。
2025-02-17 03:15:00
1087
原创 【MySQL】MySQL基础知识复习(下)
上一篇博客介绍了MySQL的库操作,表操作以及CRUD。【MySQL】MySQL基础知识复习(上)-CSDN博客本篇将进一步介绍CRUD操作,尤其是查找操作目录一.数据库约束1.约束类型1.1NULL约束1.2UNIQUE:唯一约束1.3DEFAULT:默认值约束1.4PRIMARY KEY:主键约束1.5FOREIGN KEY:外键约束二.进阶查询1.聚合查询1.1 COUNT1.2 SUM1.3 AVG1.4 MAX与MIN2.分组查询:GROUP BY2.1 having3.联合查询(多表查询)
2024-11-11 21:54:37
1648
原创 【MySQL】MySQL基础知识复习(上)
本篇博客将复习MySQL的基础知识,及着重复习CRUD(增删查改)操作。目录一.MySQL数据库基础知识1.数据库操作1.1显示当前的数据库1.2 创建数据库1.3 使用数据库1.4 删除数据库2.数据类型2.1.数字类型2.2字符串类型2.3日期类型3.数据库表操作3.1查看表3.2创建表3.3查看表结构3.4删除表二.CRUD(重点)1.新增(Create)2.查询(Retrieve)2.1全列查询2.2指定列查询2.3查询字段为表达式2.4别名2.5去重查询:DISTINCT。
2024-11-11 00:00:00
1722
原创 [Javaee]网络原理-https协议
前面的文章,我们着重介绍了http协议相关的知识。【Javaee】网络原理—http协议(一)-CSDN博客【Javaee】网络原理-http协议(二)-CSDN博客http存在着安全问题(如运营商劫持),针对http的安全问题,我们引入了https进行解决。下面,将详细介绍https协议目录一.https协议是什么二.https工作流程1.对称加密与非对称加密2.https工作的基本流程1)引入对称加密2)引入非对称加密3)中间人攻击4)证书机制。
2024-11-04 00:00:00
1396
原创 【Javaee】网络原理-http协议(二)
幂等性是指某个操作或函数在重复执行多次时,结果始终保持不变的特性。换句话说,无论你执行这个操作多少次,最终的结果都是相同的。例如:牛吃草,挤得是奶;昨天吃草,挤得是牛奶;明天吃草,挤得是牛奶;每天吃草,挤得都是牛奶,
2024-10-31 20:51:47
1787
原创 【Javaee】网络原理—http协议(一)
本篇文章将详细介绍http协议,将介绍http抓包工具的下载与使用。目录一.http协议初识1.概念2.特点1)版本2)工作方式二.http抓包工具1.抓包是什么2.抓包软件下载(Fiddler)3.使用三.http格式1.http请求的基本格式1)首行2)请求头(header)3)空行4)正文2.http响应的基本格式1)首行2)响应头3)空行4)正文四.URL。
2024-10-28 21:40:31
1736
原创 【Javaee】网络原理—TCP协议的核心机制
提起滑动窗口,学过算法的同学应该知道,算法思想中也有滑动窗口,其实,算法中的“滑动窗口”正是借鉴自TCP的滑动窗口为什么TCP要滑动窗口???TCP希望能在可靠传输的基础上,也能有不错的效率,为此引入滑动窗口。此处的提高效率,只是“亡羊补牢”,使传输的效率损失尽可能降低(效率低于UDP)按照以上方式(无滑动窗口),A每次发送一个数据给B,都得等待B的ack才能发下一个,这种方式的低效的。
2024-10-24 23:52:03
1824
原创 【Javaee】网络编程-TCP Socket
前文中我们介绍了UDP Socket相关的构造方法和方法,并实现了UDP的回显服务器和客户端。本篇将介绍TCP Socket,并使用TCP Socket api实现服务器和客户端的通信。
2024-10-21 04:15:00
2258
1
原创 【Javaee】网络编程-UDP基础
UDP是一个高效、快速、简单的传输协议,适合于需要低延迟和实时性的应用本篇将介绍UDP相关的api,并使用UDP构建回显服务器程序。
2024-10-21 00:00:00
1490
1
原创 Javaee-初识网络
网络是指通过各种通信设备和技术,将多台计算机及其他设备连接起来,以实现数据共享和资源共享。网络按照不同的标准可分为不同类型的网络。
2024-10-16 14:49:38
2066
1
原创 文件操作和IO
区分一个文件是文本文件和二进制文件,可以使用记事本打开文件,如果是乱码,就是二进制文件,如果不是,则是文本文件。构造的过程中,需使用绝对路径和相对路径进行初始化,这个路径所指向的文件可以是存在的,也可以是不存在的。因而,如果不主动释放文件,会导致这里的资源越来越少,数组满了,后续再打开文件就会失败,这个问题称为。文件内容操作,主要是读文件和写文件,都是由操作系统提供了API。文件路径也可以认为是文件的一种身份标识,通过标识,区分唯一的一个文件。针对文件进行读写,务必需先打开,结束后,也需要关闭。
2024-10-11 17:03:17
1874
原创 多线程编程-定时器
定时器相当于一个“闹钟”,在日常生活中,我们需要闹钟的辅佐,在代码中,也经常需要“闹钟”机制(网络通信中经常需设定一个超时时间)。
2024-10-05 20:32:39
1580
原创 阻塞队列与消费者生产者模型
阻塞队列是在普通的先进先出队列的基础上进行了扩充a)如果队列没空进行出队列操作,此时就会出现阻塞;一直阻塞到其他线程往队列添加元素b)如果队列为满进行入列操作,此时也会出现阻塞;一直阻塞到其他线程从队列取走元素基于阻塞队列,最大的应用场景就是实现“生产者消费者模型”。
2024-09-27 23:37:59
1098
1
原创 JAVAEE之线程安全问题(一)
多线程编程中,线程安全是重要话题之一。多个线程同时执行某个代码程序时,可能会引起一些奇奇怪怪的bug~~理解了线程安全,才可避免/解决上述bug。
2024-09-22 23:35:32
402
原创 JDBC编程
包中的一些类和接口组成,它为Java开发人员操作数据库提供了一个标准的API,可以为多种关系数据库提供统一访问。1.首先,我们应该安装好数据库,为简单快捷的安装,个人推荐使用小P(phpstudy_pro)来安装数据库。为接口号(小皮中数据库端口号默认为3306),端口号后接上“/”+要连接的数据库名称,“?通过exectueUpdate()执行代码,将返回一个整型,表示执行的行数,相当于mysql中的。例如,在(id int,name varchar(20))的学生表中,添加一个学生。
2024-06-13 18:33:25
815
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅