自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

m0_37635053的博客

一念执着,万般皆苦。一念放下,便是重生

  • 博客(201)
  • 收藏
  • 关注

原创 AI大模型之旅——MCP深入理解

MCP (Model Context Protocol,模型上下文协议),2024年11月底,由Anthropic推出的一种开放标准,旨在统一大型语言模型(LLM)与外部数据源和工具之间的通 信协议。MCP的主要目的在于解决当前Al模型因数据孤岛限制而无法充分发挥潜力 的难题,MCP使得AI应用能够安全地访问和操作本地及远程数据,为AI应用提供了 连接万物的接口构建为 LLMs 提供工具和数据的服务器将这些服务器连接到兼容 MCP 的客户端通过自定义功能扩展 LLM 的能力。

2026-03-06 15:53:19 578

原创 AI大模型之旅——LangGraph线程与检查点

在LangGraph图执行过程中,每一个节点执行后会将图状态生成一份快照保存起来,这些快照在图执行结束后也可以访问,这种机制被称为LangGraph的持久化在LangGraph中,持久化数据是由检查点管理器(checkpointer)来实现的,当图中的节点执行完一个超级步骤(super-step)时,会保存一份图状态快照信息(StateSnapshot)到线程(thread)中。

2026-02-28 17:22:04 528

原创 AI大模型之旅——LangGraph基础组件

LangGraph是一个基于图结构的 Agent 编排框架,专注于描述和控制 Agent 的执行流程。它可以独立使用,也可以与LangChain 结合,用于更方便地调用模型、工具和记忆组件。通过LangGraph可以轻松构建出可靠的Agent应用。LangGraph并不依赖于LangChain,但是配合LangChain使用可以发挥更好的效果# step 1.定义状态"""定义状态"""# 冰箱门是否打开# 大象是否在冰箱里。

2026-02-25 18:09:46 564

原创 AI大模型之旅——LangGraph实现Agent

由于 LLM的知识受训练数据限制,推理能力也存在一定局限,AI Agent技术则通过工具调用来弥补这些不足,从而获取最新信息、优化工作流、拆解任务,最终实现更复杂的功能。它让LLM充当"决策大脑",根据用户输入自主选择和执行工具(如搜索、计算、数据库查询等),最终生成精准的响应。:实际执行决策的能力 比如:检索、推理、编程 6)协作:通过与其他智能体交互合作,完成更复杂的任务目标。:当遇到无法直接解决的问题时,Agent 会调用外部工具补充知识,例如联网搜索或调用 API。Agent(智能体)

2026-02-25 15:39:55 612

原创 AI大模型之旅——LangChain RAG

RAG(Retrieval Augmented Generation)检索增强生成,RAG是一种将信息检索和大语言模型文本生成相结合的技术。简单来说,RAG就是在大语言模型生成答案之前,AI应用先从外部知识库中检索与用户提问相关的信息,然后将检索到的信息作为上下文通过提示词一起传递给大语言模型,从而让大语言模型根据检索出来的内容进行回答。

2026-02-24 10:54:14 620

原创 AI大模型之旅——LangChain基础组件

封装好的基础聊天模型和其他组件。LangChain集成包,目前LangChain会将一些重要的集成包单独拆分出来(例如langchain-openai , langchain-anthropic 等),让集成包更轻量级,这些包将会由LangChain团队和集成包的开发者共同维护。构成AI应用的链、AI agent和检索器。社区维护的第三方集成包。⽐如:Model I/O、Retrieval、Tool & Toolkit;合作伙伴包 langchain-openai,langchainanthropic等。

2026-02-19 15:30:35 548

原创 Python学习笔记

python学习笔记

2026-01-26 09:42:45 800

原创 设计一套秒杀系统

【代码】设计一套秒杀系统。

2025-10-27 17:30:19 330

原创 redis对过期key的监听——实现订单超时自动取消&& redis的高级用法

订单超时取消的实现方案&redis的高级用法

2025-07-02 16:47:48 463

原创 微信-唤起支付

小程序支付全流程

2025-06-30 15:56:26 317

原创 Prometheus+Grafana实现对服务的监控

prometheus+grafana实现监控

2025-05-21 14:30:40 1273

原创 skywalking使用教程

skywalking是分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。SkyWalking是观察性分析平台和应用性能管理系统,提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。

2025-05-16 11:49:24 1672

原创 分布式事务seata笔记

本文解决了seata座位分布式事务的下载安装、原理、实战等问题,手把手一步一步教

2025-05-09 11:23:21 1091

原创 实战springcloud alibaba

版本介绍:spring cloud alibaba 最新技术栈

2025-05-07 10:02:27 1073

原创 RSA加签验签与国密加密SM2/SM4

SM2加签、验签,加密、解密

2025-02-15 21:04:45 1154

原创 大数据笔记之flink-cdc实时同步数据

是一个基于流的数据集成工具,旨在为用户提供一套功能更加全面的编程接口(API)。Flink CDC 在任务提交过程中进行了优化,并且增加了一些高级特性,如表结构变更自动同步(Schema Evolution)、数据转换(Data Transformation)、整库同步(Full Database Synchronization)以及 精确一次(Exactly-once)语义。在 /opt/module/flink/flink-cdc-3.0.0 创建job目录,在job目录下创建一个文件(名字任取)

2024-12-12 22:35:06 1709

原创 大数据笔记之flink集群的安装部署

hadoop192、hadoop193的配置,仅taskmanager.host各自填自己的主机名,不修改rest.address,flink集群是以hadoop集群为基础的,所以先要搭建hadoop集群(参看前文:hadoop集群搭建)我的3台机器,的hadoop账号设置了免密访问(参考hadoop集群搭建的1.4)分发到另外两台机器,3台机器的masters与workers是一致的。在 /home/hadoop/bin目录下执行。写入:hadoop191:8081。其他与master保持一致即可。

2024-12-05 11:25:15 1838

原创 大数据笔记之HDFS

HDFS(Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务 器有各自的角色。HDFS的使用场景:适合一次写入,多次读出的场景。一个文件经过创建、写入和关闭 之后就不需要改变。

2024-12-03 15:48:15 1232

原创 大数据笔记之hadoop集群搭建

例如,我想使用hadoop账号免密访问,那么我在162机器的/home/hadoop目录执行,在162的/opt/module/hadoop-3.1.3/etc/hadoop目录下分别修改。在162机器上执行: 仅在162的目录 /opt/module/hadoop-3.1.3。启动mapred,在162的/opt/module/hadoop-3.1.3目录执行。仅在162的 /opt/module/hadoop-3.1.3 目录执行。记住:使用root账号创建的公钥私钥位于/root/.ssh下里。

2024-11-30 17:56:54 786

原创 大数据笔记之doris的安装部署

Apache Doris 是一个现代化的 MPP(Massively Parallel Processing,即大规模并行处理)分析型数据库产品。仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。Apache Doris 的分布式架构非常简洁,易于运维,并且可以支持 10PB 以上的超大数据集。

2024-11-23 17:18:29 1740

原创 CompletableFuture、CountDownLatch、Fork/Join实现多任务并行执行

CompletableFuture.supplyAsync() 是 Java 中用于异步执行任务的一种方法。它返回一个CompletableFuture 对象,该对象表示一个异步计算的结果。supplyAsync() 方法接受一个 Supplier 函数式接口作为参数,该接口表示一个无参数、有返回值的函数。②线程池的定义要注意,核心线程太小的话,会在核心线程用完时,进入队列等待。第一个方法使用默认的 ForkJoinPool.commonPool() 作为执行器。6个任务总用时:25029毫秒。

2024-11-08 12:30:26 609

原创 有关系表之间的数据同步

在统计完,视图与新表之间的数据的增加、删除、修改的数据,组装成sql,存入另一张表(类似于mysql的binlog日志),定时执行这些变更日志,即可完成数据同步。视图与D表之间的数据变化是包括了,增加的、删除的、更改的,于是问题变成,寻找视图与新表之间的数据哪些是新增了,哪些删除了,哪些修改了。ABC关联创建D表的同时也可同步创建一张视图,那么ABC数据变化时,视图数据会随之化,那么问题转移为视图与D表之间的数据变化对比。要实现原表(A,B,C)的数据变化同步让D表业随之变化,显然直接是不可能实现。

2024-10-30 12:27:21 461

原创 函数式接口与回调函数实践

函数式接口与回调函数

2024-10-29 17:40:36 598

原创 设计模式之责任链模式

设计模式之责任链模式

2024-10-18 21:53:29 569

原创 SaaS化多租户实现的两种方法

mybatis-flex 多数据源动态切换

2024-09-13 23:05:53 1432

原创 单点登录:cas单点登录实现原理浅析

CAS Server 和 CAS Client。CAS-Server 需要独立部署,主要负责对用户的认证工作;CAS-Client 负责处理对客户端受保护资源的访问请求,需要登录时,重定向到 CAS ServerSSO单点登录访问流程步骤:访问服务:SSO客户端发送请求访问应用系统提供的服务资源。定向认证:SSO客户端会重定向用户请求到SSO服务器。用户认证:用户身份认证。发放票据:SSO服务器会产生一个随机的Service Ticket。

2024-09-07 19:20:42 1122

原创 Spring Event如何优雅实现系统业务解耦

Spring事件(Spring Event)是Spring框架的一项功能,它允许不同组件之间通过发布-订阅机制进行解耦的通信。在Spring中,事件是表示应用程序中特定事件的对象,例如用户注册、订单创建、数据更新等。当这些事件发生时,可以通知其他组件来执行相应的操作。事件是一个普通的POJO类,用于封装与应用程序状态变化相关的信息。通常情况下,事件类继承自ApplicationEvent抽象类,Spring中提供了一些内置的事件,也可以自定义事件。事件发布者是一个接口,用于发布事件。

2024-06-09 00:15:12 1181 1

原创 docker学习笔记

docker之西行取经

2024-05-19 22:31:07 528

原创 fastdfs安装

一个卷可以由一台或多台存储服务器组成,一个卷下的存储服务器中的文件都是相同的,卷中的多台存储服务器起到了冗余备份和负载均衡的作用。拷贝 /usr/local/fastdfs/fastdfs-nginx-module/src/mod_fastdfs.conf 到 /etc/fdfs/目录下。将/usr/local/fastdfs/FastDFS/client里面的libfdfsclient.so拷贝到/usr/lib cd。注意这里的配置的是跟踪器的ip端口,我安装在同一台上,就配置自己的ip。

2024-05-03 17:07:23 1184 5

原创 递归的层序遍历&&dfs深度遍历

递归的层序遍历

2024-04-26 22:41:43 390 2

原创 ArrayBlockingQueue与LinkedBlockingQueue底层原理

ArrayBlockingQueue是一个阻塞的队列,继承了AbstractBlockingQueue,间接的实现了Queue接口和Collection接口。底层以数组的形式保存数据,所以它是基于数组的阻塞队列。ArrayBlockingQueue是有边界值的,在创建ArrayBlockingQueue时就要确定好该队列的大小,一旦创建,该队列大小不可更改。内部的全局锁是使用的。方法做法put如果队列满了,就阻塞,当队列不满的时候,会再执行入队操作offer如果队列满了,返回false。

2024-03-15 22:29:28 903

原创 ThreadLocal基本原理

ThreadLocal是java中所提供的线程本地存储机制,可以利用改机制将数据缓存在线程内部,该线程可以在任意时刻、任意方法中获取数据。

2024-03-14 22:43:11 682

原创 sentinel整合nacos在gateway中实现限流

OverrideR error = R.error(500, "限流啦 别在试啦");});

2024-02-24 16:10:01 2133

原创 spring整合mybatis的底层原理

spring整合mybatis的底层原理

2024-01-27 22:23:10 1582

原创 依赖注入实现原理

依赖注入

2024-01-03 15:18:47 1261

原创 并发控制工具类CountDownLatch、CyclicBarrier、Semaphore

让一些线程阻塞直到另一些线程完成一系列操作后才被唤醒,CountDownLatch主要有2个方法,当一个或多个线程调用await方法时,调用线程会被阻塞,其他线程调用countDown方法时计数器减一(调用countDown方法不会阻塞线程),当计数器的值变为0时,因为调用方法被阻塞的线程会被唤醒,继续执行。N个线程相互等待,任何一个线程没有到达或完成时,所有的线程都必须互相等待。(信号量)可以用来限制能同时访问共享资源的线程上限,它内部维护了一个许可的变量,也就是线程许可的数量。1 收集到:1颗龙珠。

2023-12-22 23:13:37 620

原创 java常见的锁的类型

每个线程在获取锁时会先查看此锁维护的等待队列,如果为空或当前线程是等待队列的第一个,就占有锁,否则就加入到等待队列中,以后会FIFO的规则来从队列获取锁ReentrantLock的创建可以指定构造函数的boolean类型来指定得到公平锁或非公平锁,如果不写默认是false-非公平锁。读写锁的内部包含两把锁:一把是读(操作)锁,是一种共享锁;指的是同一线程外层函数获得锁之后,内层递归函数仍然能获取该锁的代码,在同一个线程在外层方法获取锁的时候,在内层方法会自动获取锁。非公平锁吞吐量比较大。

2023-12-22 22:51:17 825

原创 常见数据结构浅析

往一个容器添加元素时,不直接往Object[]添加,而是先将当前容器Object[]进行copy 复制出一个新得容器,Object[] newElements,然后往新的容器newElements里添加元素,添加完元素后再将原容器的引用指向新得容器setArray(newElements)。这样做的好处是可以对CopyOnWrite容器进行并发读,而不需要加锁,因为当前容器不添加任何元素。把原数组的第index+1后面的数据复制到原数组的index位置复制长度为size - index - 1。

2023-12-22 16:21:29 599

原创 CAS原理浅析

CAS 比较并交换 compareAndSwap。CAS是一种乐观锁机制,也被称为无锁机制。全称:它是并发编程中的一种原子操作,通常用于多线程环境下实现同步和线程安全。CAS操作通过比较内存中的值与期望值是否相等来确定是否执行交换操作。如果相等,则执行交换操作,否则不执行。由于CAS是一种无锁机制,因此它避免了使用传统锁所带来的性能开销和死锁问题,提高了程序的并发性能。

2023-12-22 14:41:23 545

原创 4种常见的限流算法

当有请求到来时,会尝试从桶中移除一个令牌,如果桶中有足够的令牌,则请求可以被处理或数据包可以被发送;由于漏桶算法以固定的速率处理请求,可以有效地平滑和整形流量,避免流量的突发和波动(类似于消息队列的削峰填谷的作用)。桶中的令牌数不能超过桶的容量,如果新生成的令牌超过了桶的容量,那么新的令牌会被丢弃。例如:限流是每秒3个,在第一毫秒发送了3个请求,达到限流,窗口剩余时间的请求都将会被拒绝,体验不好。在一个固定长度的时间窗口内限制请求数量,每来一个请求,请求次数加一,如果请求数量超过最大限制,就拒绝该请求。

2023-12-07 20:20:04 1050

空空如也

空空如也

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

TA关注的人

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