自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 redis+lua脚本防止超卖

一般情况下,uid一般会从threadlocal中获取,或者从上下文中,这里为了演示方便直接使用。本例中直接使用redis中lua脚本实现,也可以集成工具从外部引入lua脚本,如。使用简单的jmter测试工具。

2026-05-09 20:28:12 171

原创 Netty

后端主动向前端发送消息的实现方式同步与异步: 关注的是消息通知的机制。阻塞和非阻塞: 关注的是调用者的状态netty是一个异步的,基于事件驱动的网络应用框架用于快速开发可维护的,高性能Netty基于Reactor模式Reactor模式是一种典型的事件驱动+非阻塞I/O(NIO)的高并发网络编程模型,核心是利用I/O多路复用集中监听事件,并通过事件分发器调用对应的事件处理器完成业务逻辑,从而避免为每个连接创建线程的高开销IO多路复用是一种高效的网络编程技术,允许单个线程同时监控多个文件描述符的状态。当某个描述

2026-04-27 17:39:45 381

原创 milvus向量数据库和LangChain4j

Collection 存储数据的集合向量字段标量字段向量字段:向量字段存储文本、图像和音频等非结构化数据类型的嵌入。这些嵌入可能是密集型、稀疏型或二进制型,具体取决于数据类型和使用的检索方法。通常,密集向量用于语义搜索,而稀疏向量则更适合全文或词性匹配。表示密集向量,表示稀疏向量表示二进制向量标量字段:标量字段存储原始的结构化值,通常称为元数据,如数字、字符串或日期。这些值可以与向量搜索结果一起返回,对于筛选和排序至关重要。

2026-04-24 21:48:23 424

原创 RAG和LangChain4j应用

LLM的只是仅限于其训练的数据,如果想让LLM连接特定领域的知识或专有数据,可以。

2026-04-23 20:35:27 338

原创 langchain4j简单使用

集成多种LLM工具,多种向量存储。

2026-04-23 19:24:21 359

原创 并发编程和一般的线程安全的结构

先来先得看手速能重复上锁。

2026-04-13 15:07:56 306 1

原创 分布式锁和源码解释

使用多个主从集群,加锁时,同时向所有的主发送加锁命令,只要有一半加锁成功,就认为成功。this.internalLockLeaseTime值是30s,每10s指定定时任务。为了防止使用一个主从集群,主挂了,锁数据没有同步到从的问题。,将锁的过期时间设置为小于等于0的值,看门狗机制才会生效。防止锁到期了,业务还没有执行完,通过看门狗机制。你贴的这段Lua脚本是Redisson实现。有执行完,重新设置key的过期时间为30s。加锁的核心,就是如下的lua脚本。同时设计键和过期时间。

2026-04-11 09:49:05 376

原创 RocketMQ

事务待提交:半事务消息被发送到服务端,和普通消息不同,并不会直接被服务端持久化,而是会被单独存储到事务存储系统中,等待第二阶段本地事务返回执行结果后再提交。此时消息对下游消费者不可见。提交待消费:第二阶段如果事务执行结果明确为提交,服务端会将半事务消息重新存储到普通存储系统中,此时消息对下游消费者可见,等待被消费者获取并消费。也有可能,发送成功,响应慢引起失败,如果响应慢引起失败,可能会出现消息重复发送的情况。消费者要设置ORDERLY,保证队列的消息不是并发消费,某个队列的顺序消息只能被一个消费者消费。

2026-04-09 22:03:13 346 1

原创 斐波那契散列,解决一般概率问题

经过多次测试,计算索引时,length长度必须是2^n(本博客只展示了部分测试代码,读者可以自行测试其他长度)‌分布均匀性‌:利用黄金分割比的数学特性,能够使哈希值在地址空间中分布更加均匀。‌计算效率‌:在硬件实现上通常只需要一次乘法和位移操作,效率较高。‌缓存 路由‌:在数据库索引或缓存系统中,提升查询效率。‌促销活动‌:为每个用户生成唯一优惠码,避免重复领取。‌减少冲突‌:相比传统除法散列,能有效降低哈希冲突概率。‌抽奖系统‌:生成公平的抽奖号码,确保概率均等。数组 长度128,相当于2^8。

2026-04-09 09:24:10 62

原创 JAVA中的方法设计

方法的语法, 以main方法为例​​​return d;public , 公开的,目前每个方法都必须写static , 静态的,目前每个方法都必须写void , 空, 这个位置称为返回值数据类型,可以写学过的任何数据类型但是void 是空,即该方法没有返回值,所有没有类型后面如果方法有返回值,此处可以定义对应的类型main 此处是写方法名的,小驼峰,见名知意自己的方法不要写出main() 称为参数列表参数,就是方法执行需要的数据列表, 参数可以没有,也可以写多个,逗号隔开。

2025-12-16 15:58:57 579

空空如也

空空如也

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

TA关注的人

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