自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一文带你学会限流相关知识

限流是一种对请求或并发数进行限制的关键技术手段,旨在保障系统的正常运行。当服务资源有限、处理能力有限时,限流可以对调用服务的上游请求进行限制,以防止自身服务因资源耗尽而停止服务。

2025-02-10 14:32:22 924

原创 面试不知道怎么答?全站最硬核的线程池参数调优

线程池调优是一个持续优化的过程,需要结合业务场景、系统负载和监控数据进行动态调整。通过合理的参数设置、监控告警和压测优化,可以确保系统在高并发场景下的稳定性和高效性。

2025-02-07 23:51:29 1112

原创 线程池相关知识

线程池是一种利用池化技术思想来实现的线程管理技术,主要是为了复用线程、便利地管理线程和任务、并将线程的创建和任务的执行解耦开来。我们可以创建线程池来复用已经创建的线程来降低频繁创建和销毁线程所带来的资源消耗。在JAVA中主要是使用ThreadPoolExecutor类来创建线程池,并且JDK中也提供了Executors工厂类来创建线程池(不推荐使用)

2025-02-07 23:41:59 793

原创 一文带你搞懂ai的核心组件- 向量数据库

向量数据库因其高效存储、索引和搜索高维数据点(即向量)的独特能力,在多个领域逐渐凸显其重要性。这些数据库专门设计来处理以多维空间中的向量形式表示的数据条目。向量可以涵盖各种信息,包括数值特征、文本或图像的嵌入,甚至是分子结构等复杂数据。为了更直观地理解向量数据库,下面用一个2D网格来形象化其工作方式。在这个网格中,一个轴代表动物的颜色(棕色、黑色、白色),另一个轴代表动物的大小(小、中、大)在这个表示中:图像A:棕色,中等大小图像B:黑色,小尺寸图像C:白色,大尺寸图像E:黑色,大尺寸。

2025-02-06 22:55:46 1289

原创 程序员如何高效地使用ai?全网最全的提示词工程教学

提示工程(Prompt Engineering)是一门较新的学科,关注提示词开发和优化,帮助用户将大语言模型(Large Language Model, LLM)用于各场景和研究领域。掌握了提示工程相关技能将有助于用户更好地了解大型语言模型的能力和局限性。研究人员可利用提示工程来提升大语言模型处理复杂任务场景的能力,如问答和算术推理能力。开发人员可通过提示工程设计、研发强大的工程技术,实现和大语言模型或其他生态工具的高效接轨。提示工程不仅仅是关于设计和研发提示词。

2025-02-05 15:02:20 1330

原创 Feed流问题

feed是将用户主动订阅的若干消息源组合在一起形成内容聚合器,帮助用户持续地获取最新的订阅源内容。feed流即持续更新并呈现给用户内容的信息流。具体一点就是:你喜欢的用户发动态了,这个给你一个通知,就是feed流。

2025-02-05 14:55:21 660

原创 springboot基于netty加websocket实现高性能IM系统案例(2)

上一节我们简单介绍了一下im的一些基础概念和技术,这一节我们来说一下聊天流程的具体实现和相关代码从上面代码,大家可能感到疑惑,为什么remove时要加锁?为什么在websocket不能直接注解注入对象?这个我们放到下期来讲,同时下期会给大家补充一下心跳包和断线重连以及一些其它业务,等个人项目完成后,相关代码都会开源,敬请期待。

2024-08-03 20:14:06 1003 4

原创 springboot基于netty加websocket实现高性能IM系统案例(1)

此篇文章主要解决im系统的设计、注意点和相关技术栈,和该项目的基础配置,下一章讲一下项目实现的思路和具体流程。部分设计上的点后续会提到。

2024-05-15 16:09:46 1624 4

原创 redis+aop实现接口防刷(幂等)

总之,幂等和接口防刷都是业务中常见的场景,redis,aop也是非常常用的技术栈,希望大家通过这个文章加深对业务、redis、springAOP的使用,后面考虑更ddd重构老项目,mq等,不过时间不一定,敬请期待。

2024-03-27 19:37:45 1485 2

原创 (踩坑篇)rabbitmq不同模块序列化和反序列化

列化(Serialization)和反序列化(Deserialization)是将对象转换为字节流或将字节流转换为对象的过程。序列化是指将对象转换为字节流的过程。在序列化时,对象的状态信息(例如属性值、字段值等)被转换为一串字节,以便能够在网络上传输或者保存到磁盘上。序列化可以将对象持久化,并且使其能够在不同的环境中进行传输和恢复。序列化通常用于分布式系统、缓存、消息队列等场景。反序列化是指将字节流恢复为对象的过程。在反序列化时,字节流被解析并还原为对应的对象,使其可以在内存中重新使用。

2024-03-14 14:39:14 1854 1

原创 (踩坑篇)docker下载rabbitmq延迟队列插件后无法启动服务

因为最开始的rabbitmq是没有发送延迟消息这个功能,所以很多有这个需求的人用死信交换机来实现,mq官方看见就坐不住了,死信交换机不是这么用的啊,于是官方自己写了个插件,来实现延迟队列,就是rabbitmq-delayed-message-exchange 插件。这时候容器正常启动,插件开启正常,日志没有报错,端口暴露没问题,但是就是无法连接mq管理页面,找了很多资料,最后翻到了是因为没开启对应的插件,management对应的就是管理页面。一定版本要对应,3.9.x的版本要用3.9的插件。

2024-03-13 14:26:20 792 4

原创 springboot+xxl-job+httpclient实现服务端远程进行任务调度

定时任务是指在预定的时间间隔或特定时间点执行的任务或操作。这些任务通常用于自动化处理重复性、周期性的工作,减轻人工干预的负担,提高效率和准确性。最好的例子就是闹钟,你提前定好时间,他到了时间会自动触发。还有一种是根据时间间隔来的,依旧是闹钟,我第一次关闭之后,他会每隔10分钟后再启动。xxl-job是一个简单易上手的分布式任务调度框架,虽然本身不支持远程调用,但可以使用httpclient或者restTemple等远程连接工具进行连接。

2024-03-05 21:43:46 1941 2

原创 spring+Druid+mybatils多租户下动态切换数据源

举个例子:蔡徐坤、展亚鹏和范小勤三个人去租房子,他们因为家里经济困难所以勤工俭学,三个人决定合租一套三室一厅的房子,虽然每个人有自己的房间,但是家里的水电、厨房、卫生间和热水器都是大家一起公用的。隐私性肯定是没有单独自己租房子来的高。在多租户的架构里,多个租户共享相同的服务器、基础设施,数据库可以是共享的也可以是隔离的,由于多租户必定在用户规模上比单租户来的大,所以多租户一般会有多个实例,共用一套实例代码。租户之间的数据隔离往往采用逻辑隔离的方式,即在代码和数据库层面隔离,所以安全性远没有单租户来的高。

2024-02-28 16:18:51 2008 4

空空如也

空空如也

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

TA关注的人

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