LangChain 初探

【Flink】Flink 消费一段时间1万多条数据就卡死 我们有个现场环境,发现了奇怪的现象,就是每次启动任务后,消费1万多条数据后就会卡死,然后整个流不消费,也不往下输出,看起来卡死了一样。缺图这里面出现的网闸原因导致的,但是经过我们写了一个简单的kafka消费程序,然后在出问题的节点上消费数据,实际排查,发现不是这个问题。这个问题,发现也不是,这段时间没有进行过kafka数据清理。里面的问题。因为这个问题,我们后面的代码刻意规范了,不这样操作。后来是在没办法了,然后我们dump了线程,发现有如下代码。 阅读详情

1、什么是LangChain?

        LangChain 是一个由大型语言模型(LLM)驱动的应用程序开发框架。提供模块化组件用以连接LLM、外部数据源和工具

        LangChain 简化了LLM应用程序生命周期的每个阶段:

                开发:使用LangChain 的开源组件和第三方集成构建应用程序。使用LangGraph构建具有一流流媒体和人机加护支持的状态代理;

                生产化:使用LangSmith检查、监控和评估应用程序,以便于持续优化和部署;

                部署:使用LangGraph平台将LangGraph应用程序转变为可用于生产的API和助手;

2、LangChain、LangGraph、LangSmith的功能与区别?

        LangChain的核心功能:

                LLM 集成:支持多种 LLM(如 OpenAI、Hugging Face)。

                提示管理:动态创建和管理提示模板(Prompt Templates)。

                链(Chains):将 LLM 调用、API 请求、数据处理等任务链接成工作流。

                代理(Agents):支持 LLM 与外部工具(如搜索、数据库)交互,动态决策。

                记忆(Memory):维护对话历史或上下文。

                检索增强生成(RAG):结合向量数据库(如 FAISS、Chroma)实现文档检索。

        LangChain的主要作用:

                快速构建LLM应用原型,如聊天机器人、问答系统。

                提供标准化的开发接口,简化复杂工作流。

        LangChain的框架组成:

                

主要由以下部分组成:

  • LangChain库:Python和JavaScript库。包含接口和集成多种组件的运行时基础,以及现成的链和代理的实现。
  • LangChain模板:Langchain官方提供的一些AI任务模板。
  • LangServe:基于FastAPI可以将Langchain定义的链(Chain),发布成为REST API。
  • LangSmith:开发平台,是个云服务,支持Langchain debug、任务监控。

LangChain库本身由几个不同的包组成。

  • langchain-core:基础抽象和LangChain表达语言。
  • langchain-community:第三方集成,主要包括langchain集成的第三方组件。
  • langchain:主要包括链(chain)、代理(agent)和检索策略。

langchain任务处理流程

        

如上图,langChain提供一套提示词模板(prompt template)管理工具,负责处理提示词,然后传递给大模型处理,最后处理大模型返回的结果,

LangChain对大模型的封装主要包括LLM和Chat Model两种类型。

  • LLM - 问答模型,模型接收一个文本输入,然后返回一个文本结果。
  • Chat Model - 对话模型,接收一组对话消息,然后返回对话消息,类似聊天消息一样。

        示例场景:

                开发一个客服机器人,结合企业知识库回答用户问题。

        LangGraph:

                LangChain的拓展模块,专注于构建复杂的、有状态的、多代理工作流,通过图结构实现循环和条件逻辑。

        LangGraph核心功能:

                图结构工作流:使用节点(Nodes)和边(Edges)定义任务依赖,支持循环(Cyclical Graphs)。

                状态管理:维护跨节点的共享状态(如对话历史、任务进度)。

                多代理协作:支持多个 AI 代理协同工作(如路由器代理分配任务给专家代理)。

                持久化:支持工作流暂停、恢复和错误恢复。

                人机交互:支持人机协同(Human-in-the-Loop)。

        LangGraph的主要作用:

                解决LangChain Chains的局限性,适合复杂、动态的工作流。

                用于多代理系统、自动化任务编排、循环决策场景。

        示例场景:

                构建一个股票分析平台,多个代理分别处理新闻检索、财务数据分析和报告生成,动态调整策略。

        LangSmith:

                LangSmith是一个统一的观测与评估平台,用于调试、测试和监控LLM应用性能,适用于LangChan、LangGraph或其他框架。

        LangSmith的核心功能:

                追踪(Tracing):记录应用的每一步输入输出,分析代理行为。

                评估(Evaluation):运行自动化评估(如 LLM-as-Judge)或收集人工反馈。

                调试:可视化复杂代理的执行路径,定位性能瓶颈。

                提示优化:通过 Playground 比较不同提示的效果。

                性能监控:跟踪生产环境的延迟、成本、错误率等指标。

        LangSmith的主要作用:

                提升LLM应用的透明度和可靠性。

                加速从原型到生产部署的迭代过程。

        示例场景:

                监控一个客服代理,分析响应延迟和错误模式,优化提示以提高回答质量。

三者的关系:

LangChain、LangGraph 和 LangSmith 是 LangChain 生态系统的三个互补组件,各自专注于开发、编排和监控,共同支持 LLM 应用的整个生命周期:

  • LangChain 是基础:

    • 提供核心组件(如 Chains、Agents、Memory),用于快速构建 LLM 应用。

    • 适合简单的线性工作流或 RAG 场景。

    • 例如,LangChain 可用于构建一个基于 OpenStack 文档的问答系统,结合 Java 调用 OpenStack API 获取虚拟机信息。

  • LangGraph 扩展 LangChain:

    • 在 LangChain 基础上引入图结构,解决复杂、循环或多代理场景。

    • 完全兼容 LangChain 的组件(如 Prompt Templates、Tools)。

    • 例如,LangGraph 可用于管理一个多代理系统,动态调用 Java 开发的 OpenStack 虚拟机创建服务。

  • LangSmith 增强观测:

    • 为 LangChain 和 LangGraph 提供调试和监控支持,也可独立用于非 LangChain 应用。

    • 通过 API(如 Python SDK、OpenTelemetry)记录执行轨迹,集成到 LangGraph 工作流。

    • 例如,LangSmith 可监控 Java 应用中 LangChain 代理的性能,分析 OpenStack API 调用的延迟。

类比:

  • LangChain 像工具箱,提供螺丝刀、锤子等基本工具。

  • LangGraph 像流水线,组织工具形成复杂生产线。

  • LangSmith 像监控仪表,检查生产线效率并优化。

具体作用与应用场景

工具

主要作用

典型应用场景

LangChain

提供模块化组件,简化 LLM 应用开发,适合线性任务和 RAG。

聊天机器人、文档问答、API 集成(如 Java 调用 OpenStack)。

LangGraph

构建复杂、有状态、多代理工作流,支持循环逻辑和人机协同。

多代理协作(如股票分析平台)、自动化任务编排(如虚拟机管理)。

LangSmith

调试、评估和监控 LLM 应用,提升生产环境可靠性。

性能监控(分析 Java 应用延迟)、提示优化、错误追踪。

                

                3、构建LangChain Agent 应用时的模块及作用

                1)提示模版

                                提示模板负责将用户输入格式化为可以传递给语言模型的格式。主要用于解决以下问题:

                                        如何使用少量示例?

                                        如何在聊天模型中使用少量示例?

                                        如何部分格式化提示模版?

                                        如何组合提示?

                2)示例选择器

                                示例选择器负责选择正确的少量示例以传递给提示。主要解决以下问题:

                                        如何使用示例选择器?

                                        如何按长度选择示例?

                                        如何按语义相似性选择示例?

                                       如何按语义n-gram重叠选择示例?

                                       如何按最大边际相关性选择示例?

              3)聊天模型

                                聊天模型是较新的语言模型形式,接收消息并输出消息。主要有以下功能:

                                        函数/工具调用

                                        使模型返回结构化输出

                                        缓存模型响应

                                        获取日志概率

                                        创建自定义聊天模型类

                                        流式返回响应

                                        跟踪令牌使用情况

                                        跨供应商跟踪响应元数据

                                        让最终用户选择他们的模型

              4)LLMS

                              LangChain所称的LLM是较旧的语言模型形式,接收字符串输入并输出字符串。主要有以下功能:

                                        缓存模型响应

                                        创建自定义LLM类

                                        流式返回响应

                                        跟踪令牌使用情况

                                        使用本地LLMs

           5)输出解释器

                                输出解析器负责将LLM的输出解析为更结构化的格式。主要解决以下问题:

                                        使用输出解析器将LLM响应解析为结构化格式

                                        解析JSON输出

                                        解析XML输出

                                        解析YAML输出

                                        在输出解析错误时重试

                                        尝试修复输出解析中的错误

                                        编写自定义输出解析器类

         6)文档加载器

                              文档加载器负责从各种来源加载文档。主要有以下功能:

                                        加载CSV数据
                                        从目录加载数据
                                        加载HTML数据
                                        加载JSON数据
                                        加载Markdown数据
                                        加载Microsoft Office数据
                                        加载PDF文件
                                        编写自定义文档加载器

        7)文本拆分器

                           文本拆分器将文档拆分为可用于检索的块。主要有以下功能:

                                递归拆分文本
                                按HTML标题拆分
                                按HTML部分拆分
                                按字符拆分
                                拆分代码
                                按Markdown标题拆分
                                递归拆分JSON
                                将文本拆分为语义块
                                按令牌拆分

        8)嵌入模型

                        嵌入模型将一段文本转换为数值表示:

                                嵌入文本数据

                                缓存嵌入结果

        9)向量存储

                        向量存储是可以有效存储和检索嵌入的数据库。

                                使用向量存储检索数据

          10)检索器

                        检索器负责接收查询并返回相关文档。主要包含以下功能:

                                使用向量存储检索数据
                                生成多个查询以检索数据
                                使用上下文压缩来压缩检索到的数据
                                编写自定义检索器类
                                向检索结果添加相似度分数
                                结合多个检索器的结果
                                重新排序检索到的结果以减轻“中间丢失”效应
                                为文档生成多个嵌入
                                为块检索整个文档
                                生成元数据过滤器
                                创建时间加权检索器
                                使用混合向量和关键词检索

        11)索引

                        索引是使向量存储与基础数据源保持同步的过程。

       12)工具

                        LangChain工具包含工具的描述(传递给语言模型)以及要调用的函数的实现。主要包含以下功能:

                        创建自定义工具
                        使用内置工具和内置工具包
                        使用聊天模型调用工具
                        向LLMs和聊天模型添加临时工具调用功能
                        将运行时值传递给工具
                        向工具使用添加人类参与
                        处理调用工具时的错误

      13)多模态

                        将多模态数据直接传递给模型

                        使用多模态提示

      14)代理

                        使用传统LangChain代理

                        从传统LangChain代理迁移到LangGraph

        15)回调

                        回调允许你在LLM应用程序的各个阶段进行挂钩。主要有以下功能:

                                在运行时传递回调
                                将回调附加到模块
                                在模块构造函数中传递回调
                                创建自定义回调处理程序
                                在异步环境中使用回调

          16)自定义

                        所有LangChain组件都可以轻松扩展以支持你自己的版本。

                                创建自定义聊天模型类
                                创建自定义LLM类
                                编写自定义检索器类
                                编写自定义文档加载器
                                编写自定义输出解析器类
                                创建自定义回调处理程序
                                定义自定义工具

Unity Sprite Atlas C++底层原理全解析 —— “像素聚合工厂”的秘密 Unity Sprite Atlas C++底层实现简析 Sprite Atlas是Unity中用于优化2D渲染性能的核心机制,其C++底层实现如同一个高效的"像素聚合工厂"。该系统通过将多个小纹理合并为一个大纹理,显著减少Draw Call次数和GPU纹理切换开销。 在数据结构上,底层采用SpriteAtlasData存储图集元数据,PackedTexture管理合并后的大纹理,SpriteFrame记录每个子精灵的位置信息,并通过哈希表实现快速查找。编辑器阶段使用最大矩形等算法优化空 阅读详情

相关推荐

MagicDraw小白必看:BDD图中模块的5种属性详解(含SysML v1.6最新端口配置指南)

本文面向MagicDraw初学者,详细解析SysML BDD图中模块的五种核心结构属性,包括组成部分、引用、值、约束属性及端口。重点阐述了SysML v1.6中端口设计的范式转移,对比了完整端口与代理端口的区别与应用场景,并通过实战案例指导如何利用代理端口进行清晰的接口定义与系统架构设计。

rum55的博客 373

使用OpenTelemetry来监控LangChain(含LangGraph)应用

本文介绍了如何利用OpenTelemetry监控LangChain应用的方法。只需设置环境变量即可将监控数据发送到OpenTelemetry服务器。文章详细说明了使用Docker部署Grafana LGTM作为监控后端的步骤,同时提供了Python环境的配置指南,展示如何通过Dashboard查看应用的吞吐量、延迟时间和调用链追踪。特别演示了如何分析LangGraph Agent的复杂调用关系,通过Trace功能可清晰了解内部各节点的执行耗时和逻辑顺序,为性能优化提供直观依据。

liu_rui_的博客 521

零、HarmonyOS应用开发者基础学习总览

零、HarmonyOS应用开发者基础学习总览

weixin_45029825的博客 1454

使用 Elastic、OpenLLMetry 和 OpenTelemetry 跟踪 LangChain 应用程序

Langchain 应用程序的使用正在增长。构建基于 RAG 的应用程序、简单的 AI 助手等的能力正在成为常态。观察这些应用程序更加困难。考虑到现有的各种选项,本博客展示了如何将 OpenTelemetry 检测与 OpenLLMetry 结合使用并将其导入 Elastic Observability APM。LangChain 已迅速成为 AI 开发领域的关键框架,特别是用于构建由大型语言模型 (LLM) 支持的应用程序。随着开发人员对其的采用率飙升,对有效调试和性能优化工具的需求也变得越来越明显。

Elastic 中国社区官方博客 1709

Python+Flask+Echarts打造全国气象数据可视化分析大屏

本文详细介绍了如何使用Python+Flask+Echarts构建全国气象数据可视化分析大屏,实现实时监控、趋势分析和快速决策。通过Python强大的数据处理能力、Flask的轻量级优势和Echarts的交互体验,打造高效的气象数据可视化系统,提升农业、物流等行业的决策效率。

weixin_29061531的博客 1060

Open3D (C++)球旋转算法(BPA)三维建模

球旋转算法用于点云三维建模的C++代码实现。

点云侠的博客 1771

LangSmith 进阶实践:基于 OpenTelemetry 构建分布式全链路追踪体系

摘要:本文详细介绍了如何利用OpenTelemetry(OTEL)为LangChain构建分布式全链路追踪体系。从基础配置到高级应用,涵盖环境变量设置、双写OTLP端点配置、Collector扇出架构实现,以及微服务场景下的上下文传播。通过OpenTelemetry标准化方案,开发者可以统一监控LLM调用链路,实现跨平台数据聚合和分布式追踪,有效解决企业级应用中的可观测性需求。

m0_62488687的博客 1130

物联网通信中NB-IoT、Cat.1、LTE-M该如何选择?

首先我们要确定我们产品的关键需求,例如:我们的设备是否对数据传输速率有较高的要求,有较高要求我们就需要选择较高传输速率的Cat.1来开发我们的产品。同时关于产品性能方面,我们对功耗、延迟、可靠性也会有所要求,例如我们的产品为移动端产品,不方便布线以及安装电源,那我们就会采用电池供电的方式,所以在选择时可以优先考虑低功耗产品,最终结合其他需求选择出合适的协议。首先,我们需求的产品是不同的,我们需要根据产品需求或项目需求来进行选择,NB-IoT、Cat.1、Cat.M都有属于自己的优势。

a1809032425的博客 1216

Phoenix+LangChain:LLM可观测与追踪实战

介绍 Phoenix 在 LLM 中的可观测与调试能力,并演示其与 LangChain 的集成流程与 UI 可视化追踪方法。

Xianxiancq的博客 1369

(功能安全六)硬件FMEDA计算

FMEDA(故障模式、影响与诊断分析)是功能安全验证的核心方法,通过量化分析硬件故障模式及其影响,计算SPFM、LFM、PMHF等关键指标。分析过程包含六大步骤:计算元器件失效率、识别故障模式、评估安全机制诊断覆盖率、分类计算各类失效率、量化指标计算及设计优化。输入需要系统架构图、硬件故障模式清单等资料,输出安全指标达标情况及改进建议,确保设计满足ASIL等级要求。该方法通过系统化的故障分类和量化评估,为硬件安全设计提供科学依据。

Dayongger的博客 1449

wireshark提取视频数据之RTP包中提取H264和H265

本文主要描述从wireshark包数据中提取出H264和H265裸流数据方法,裸流通过RTP封包方式发送,从抓包中直接提取视频流数据,进而进行流媒体问题定位

技术控的笔记 17万+

【AIOps时代链路追踪新范式】:基于OpenTelemetry+LangChain的生成式AI可观测性架构(仅限头部1%团队在用)

面向生成式AI应用链路追踪方案,提供端到端可观测性新范式。基于OpenTelemetry采集多模态调用链,结合LangChain实现LLM推理过程语义化追踪,适用于大模型服务、RAG与Agent系统。支持延迟归因、Token级耗时分析与Prompt传播追溯,精度达头部1%团队水准,值得收藏。

AlgoPerch的博客 192

【超分辨率(Super-Resolution)】关于【超分辨率重建】专栏的相关说明,包含专栏简介、专栏亮点、适配人群、相关说明、阅读顺序、超分理解、实现流程、研究方向、论文代码数据集汇总等

本专栏研究领域为【超分辨率重建】,涵盖图像超分、视频超分,实时超分,4K修复等方面。主要内容包括主流算法模型的论文精读、论文复现、毕业设计、涨点手段、调参技巧、论文写作、应用落地等方面。算法模型从SRCNN开始更新至今,一般是一篇论文精读对应一篇论文复现。论文精读详解理论,归化繁为简,归纳核心,积累词句,培养阅读论文和论文写作能力。论文复现依托Pytorch代码,实现完整的模型训练流程,总结调参方法,记录碰到的bug,论文插图可视化,培养读写代码能力、做实验的能力、以及应用落地能力。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 3万+

【LangChain系列 1】 LangChain初探

本文速读: LangChain是什么 LangChain初探 环境准备 LLMs PromptTemplates Output Parser 第一个LLMChain应用

记录技术成长之路 568

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

LangChain初探:为你的AI应用之旅导航

先来个温馨的小提醒:这篇文章虽然较为全面地介绍了 LangChain,但都是点到为止,只是让你了解一下它的皮毛而已,适合小白选手。有了你的鼓励,我会再接再厉的!(ง •_•)ง。

2401_84204207的博客 1254

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

langchain入门系列之五 初探代理

代理的核心思想是使用LLM来选择要采取的一系列动作。在链式结构中,一系列动作是硬编码的(在代码中)。在代理中,使用语言模型作为推理引擎来确定要采取的动作及其顺序。

笑笑布丁的博客 693

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

LangChain4j之初探

LangChain4j简介与快速入门 LangChain4j是一个简化大语言模型(LLM)集成到Java应用的框架。它提供统一API支持15+主流LLM供应商和20+向量数据库,内置从提示模板到RAG的高级工具链。开发者无需重写代码即可切换不同LLM服务,项目融合了LangChain、LlamaIndex等社区创新。

weixin_47905944的博客 1411

大模型 LangChain-LangGraph 初探

通过对 LangGraph 官方示例的详细分析,我们可以看到它在构建复杂的代理应用程序方面的强大功能和灵活性。它不仅能够整合大模型的语言处理能力,还能够方便地调用外部工具,实现诸如信息查询等功能,并通过状态管理和流程控制来确保整个应用的稳定运行和良好交互体验。然而,在实际应用中,仍然可能会遇到一些问题,如模型适配问题,这提醒我们在开发过程中需要充分测试和评估不同模型和工具的组合,以选择最适合项目需求的方案。

qq1164014750 1913

langchain简单初探

先说说遇到的问题吧,我之前pycharm2023版本,使用python3.12之后,不兼容,添加python解释器之后,pip install出现问题,no module named distutils。langchain集成了很多模块。可以方便的进行开发,本人不才,两年没有写代码,开发工具停留在23年,刚开始折腾langchain的时候,各种环境问题,这几天全面升级,拥抱python3.12+pycharm2025.3。不过这个不是重点,重点是环境问题解决了,后面可以慢慢折腾本地LLM。

feinifi的博客 245

大模型 LangChain 开发框架-初探

通过 LangChain 官方提供的示例,我们可以构建一个简单而实用的 PDF 文档内容搜索应用。该应用主要实现了以下几个关键功能: (https://python.langchain.com/docs/tutorials/retrievers/)PDF 文件导入与解析:支持用户导入一个 PDF 文件,并能够准确地解析该文件,按照页面将其拆分为多个文档内容片段,为后续处理提供基础数据。分词处理:利用分词器对解析后的文档内容进行分词操作,将文本拆分成不同的字符或词语,以便更好地理解和处理文本语义。

qq1164014750 1434

大模型 LangChain 开发框架:Runable 与 LCEL 初探

Runnable 接口是 LangChain 众多组件以及 LangChain 表达语言构建的基础抽象。invoke 方法:该方法能够将单个输入转换为相应的输出,是实现基本功能的核心。例如,在一个简单的文本处理任务中,输入一段文本,通过 invoke 方法可以得到处理后的结果,如文本分类、摘要生成等。batched 方法:支持多个输入高效地转换为输出。这在处理批量数据时非常有用,能够显著提高处理效率。比如,同时对多篇文档进行关键词提取,使用 batched 方法可以一次性处理多个文档,减少处理时间。

qq1164014750 1815

LLM编程框架LangChain初探

最近基于LLM的AIGC应用涌现,大家都在探索如何快速利用LLM去构建自己业务领域的应用。

AAI666666的博客 1751

大模型RAG初探【Langchain】

本文介绍了RAG(检索增强生成)技术,它通过结合检索和生成技术,解决了传统大语言模型的知识局限性和幻觉问题。RAG系统包含知识库、文档处理、嵌入模型、向量数据库等核心组件,利用Langchain框架实现文档加载、分割、向量化存储和检索功能。文章详细展示了基于本地文档知识库的RAG实现过程,包括环境配置、模型选择(Bge-lager-zh-v1.5和Deepseek)、代码实现和测试结果。该系统能够从本地文档中检索相关信息,结合大语言模型生成准确回答,有效提升了问答系统的可靠性和准确性。

cshsjdh的博客 775

大模型RAG应用与LangChain4初探

LLM可以加载从众多数据源检索到的信息,这些检索到的信息被加载到上下文窗口中,并用于 LLM 输出生成,这一过程通常称为检索增强生成(RAG)。RAG 是 LLM 应用程序开发中最重要的概念之一,因为它是一种向 LLM 传递外部信息的简便方法,在需要事实回忆的问题上,它比更复杂的微调更有优势。低成本:与重新训练或微调整个LLM相比,RAG通常只需要对检索机制和融合机制进行微调,大大降低了计算成本和时间。高效性:通过在生成过程中引入相关的外部信息,RAG可以显著提高LLM在特定领域的准确性。灵活性。

分享Java,Rust相关技术 1547

初探大模型(04)- RAG和LangChain框架

RAG:检索增强生成( Retrieval-Augmented Generation),从庞大知识库中检索到的相关信息,并以此为基础,指导大型语言模型生成更为精准的答案。

2301_81888214的博客 1899

AIGC工程系列-LangChain初探

LangChain是一个基于大型语言模型(LLMs)构建应用的框架。它可以帮助你实现聊天机器人、生成式问答、文本摘要等功能。它的核心思想是可以将不同的组件“链接”起来,创建更高级的LLMs应用.核心关键词: LLM 编程框架(也叫模型编排工具:Tooling Orchestration)相关文本摘要的资料。

wujin905的专栏 938
上一篇: java 同步机制总结
下一篇: 什么是向量?
BoneToBone
博客等级 码龄10年 24粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值