DeepSeek开源周Day6:DeepSeek V3、R1 推理系统深度解析,技术突破与行业启示
DeepSeek 在开源周第六天再次发文,中文原文、官方号在知乎
- DeepSeek - 知乎
- DeepSeek-V3 / R1 推理系统概览 - 知乎
- deepseek-ai/open-infra-index: Production-tested AI infrastructure tools for efficient AGI development and community-driven innovation
引言
2025年2月,深度求索(DeepSeek)发布了V3/R1推理系统,凭借545%的成本利润率(按行业标准折算为85%)和单节点8,575 tokens/s的吞吐量,刷新了大模型推理性能的认知。本文将深度解析其技术实现,并探讨对行业的影响。
一、核心技术突破
1.1 专家并行(Expert Parallelism, EP)革命
什么是专家并行?
在MoE(Mixture-of-Experts)模型中,每个输入仅激活部分专家(如DeepSeek V3每层激活8/256个专家)。EP技术通过将专家分布到多GPU,实现:
- 吞吐量提升:单批次处理量扩大32-144倍
- 内存优化:单卡仅需存储部分专家参数
- 延迟降低:减少单卡计算负载
实现细节
阶段 | 并行策略 | 节点数 | 单卡负载 |
---|---|---|---|
预填充阶段 | EP32 + DP32 | 4节点 | 9路由专家+1共享专家 |
解码阶段 | EP144 + DP144 | 18节点 | 2路由专家+1共享专家 |
关键技术价值:相比传统单卡推理,EP实现数量级成本下降,H800集群效率超越英伟达H200 1.5倍
1.2 通信-计算重叠优化
双批次流水线
将请求拆分为Micro-Batch,通过交替执行隐藏通信延迟:
预填充阶段:
[计算MB1] -> [通信MB1][计算MB2] -> [通信MB2]
解码阶段:
五级流水线:Attention拆分+多阶段重叠
性能收益
- 通信延迟降低40%
- GPU空闲时间减少至<5%
1.3 三级负载均衡体系
负载类型 | 优化目标 | 实现方法 |
---|---|---|
预填充负载 | 注意力计算均衡 | 动态分配输入token数 |
解码负载 | KVCache内存均衡 | 请求数平均分配 |
专家负载 | 热点专家分散 | 专家使用频率监控+动态迁移 |
技术亮点:通过实时监控实现<2%的负载偏差,避免木桶效应
二、系统架构全景
核心组件:
- 路由层:智能请求分发
- 缓存系统:56.3%的磁盘KV缓存命中率
- 弹性调度:白天全节点推理,夜间部分节点转训练
- 精度控制:FP8通信 + BF16计算
三、性能数据解读
3.1 核心指标
指标 | 数值 | 行业对比 |
---|---|---|
日均吞吐量 | 776B tokens | 10倍于传统方案 |
单H800节点解码吞吐 | 14.8k tokens/s | H200的1.5倍 |
平均响应延迟 | 45-50ms | 竞品平均120ms+ |
单位token成本 | $0.00002 | 行业平均$0.0001 |
3.2 成本结构
pie title 日成本构成($87,072) "GPU租赁" : 72000 "机房运维" : 12000 "网络带宽" : 3072
3.3 动态扩缩容
- 日间峰值:278节点
- 夜间低谷:180节点
- 智能预测:基于LSTM的负载预测模型
四、行业影响分析
4.1 技术启示
- MaaS规模效应:用户量达千万级时,边际成本骤降
- 超节点趋势:320卡紧耦合系统成为新标杆
- 精度创新:FP8+BF16混合精度实践
4.2 市场冲击
- 价格战加速:行业成本认知从2/M
- 硬件需求变化:NVLink带宽重要性凸显
- 商业模式创新:免费服务引流+API变现的组合策略
4.3 未来挑战
- 万卡级EP系统的稳定性
- 多模态场景的扩展
- 动态稀疏性的极致优化
五、开源生态建设
DeepSeek同步开源五大核心模块:
- FlashMLA:高效注意力计算库
- DeepGEMM:矩阵运算优化
- DualPipe:双流水线调度器
- EPLB:专家负载均衡器
- profile-data:性能分析数据集
第 1 天 - FlashMLA
适用于 Hopper GPU 的高效 MLA 解码内核
针对可变长度序列进行了优化,在生产中经过实战测试
🔗 FlashMLA GitHub 存储库
✅ BF16 支持
✅ 分页 KV 缓存(块大小 64)
⚡ 性能:3000 GB/s 内存受限 |H800 上的 BF16 580 TFLOPS 计算绑定
第 2 天 - DeepEP
很高兴推出 DeepEP - 第一个用于 MoE 模型训练和推理的开源 EP 通信库。
🔗 DeepEP GitHub 存储库
✅ 高效和优化的 all-to-all 通信
✅ NVLink 和 RDMA 的节点内和节点间支持
✅ 用于训练和推理预填充的高吞吐量内核
✅ 用于推理解码的低延迟内核
✅ 原生 FP8 调度支持
✅ 灵活的 GPU 资源控制,用于计算通信重叠
第 3 天 - DeepGEMM
DeepGEMM 简介 - 一个 FP8 GEMM 库,支持密集 GEMM 和 MoE GEMM,为 V3/R1 训练和推理提供支持。
🔗 DeepGEMM GitHub 存储库
⚡ 在 Hopper GPU 上高达 1350+ FP8 TFLOPS
✅ 没有繁重的依赖,像教程一样干净
✅ 完全 Just-In-Time 编译
✅ ~300 行的核心逻辑 - 但在大多数矩阵大小中都优于专家调优的内核
✅ 支持密集布局和两种 MoE 布局
第 4 天 - 优化的并行策略
✅ DualPipe - 一种双向管道并行算法,用于 V3/R1 训练中的计算通信重叠。
🔗 GitHub 存储库
✅ EPLB - 适用于 V3/R1 的专家并行负载均衡器。
🔗 GitHub 存储库
📊 分析 V3/R1 中的计算通信重叠。
🔗 GitHub 存储库
第 5 天 - 3FS,所有 DeepSeek 数据访问的推进器
Fire-Flyer 文件系统 (3FS) - 一种并行文件系统,可利用现代 SSD 和 RDMA 网络的全部带宽。
⚡ 180 节点集群中的 6.6 TiB/s 聚合读取吞吐量
⚡ 在 25 节点集群中,GraySort 基准测试的吞吐量为 3.66 TiB/min
⚡ 每个客户端节点 40+ GiB/s 峰值吞吐量,用于 KVCache 查找
🧬 具有强一致性语义的分解架构
✅ 训练数据预处理,数据集加载,检查点保存/重新加载,嵌入向量搜索和KVCache查找以进行V3/R1中的推理
📥 3FS → GitHub - deepseek-ai/3FS: A high-performance distributed file system designed to address the challenges of AI training and inference workloads.
⛲ Smallpond - 3FS → https://github.com/deepseek-ai/smallpond 上的数据处理框架
第 6 天 - 还有一件事:DeepSeek-V3/R1 推理系统概述
通过以下方式优化吞吐量和延迟:
-🔧 跨节点 EP 支持的批量扩展
🔄 计算-通信重叠
⚖️ 负载均衡
V3/R1 在线服务生产数据:
⚡ 每个 H800 节点每秒 73.7k/14.8k 输入/输出令牌
🚀 成本利润率 545%
参考引用
- DeepSeek-V3 / R1 推理系统概览 - 知乎
- deepseek-ai/open-infra-index: Production-tested AI infrastructure tools for efficient AGI development and community-driven innovation
专业术语:
- 成本利润率
反映系统经济效益的指标,按行业标准折算后,DeepSeek的V3/R1推理系统达到85%,原数值为545% ,体现了该系统在成本控制与收益获取方面的出色表现。类似于做生意时,利润与成本的比例关系,比例越高说明盈利情况越好。 - 吞吐量
衡量系统数据处理能力的指标,如DeepSeek V3/R1推理系统单节点可达8,575 tokens/s,意味着该系统每秒能处理8,575个token的数据量。好比工厂每秒钟能生产的产品数量。 - 专家并行(Expert Parallelism, EP)
在MoE模型中,将专家分布到多个GPU的技术。通过这种方式,能提升吞吐量、优化内存使用并降低延迟,实现数量级成本下降。类似于把不同的专业工作分配给多个小组同时进行,提高整体工作效率。 - 混合专家模型(Mixture-of-Experts, MoE)
一种模型架构,每个输入仅激活部分专家,如DeepSeek V3每层激活8/256个专家。就像一个大型项目,不同部分由最合适的专业团队负责,而不是每个团队都处理所有任务。 - Micro - Batch
将请求拆分后的小批次数据单元,通过双批次流水线交替执行来隐藏通信延迟。类似于把一大份工作分成小份,轮流进行处理,提高效率。 - 通信 - 计算重叠优化
通过双批次流水线等方式,将通信延迟隐藏在计算过程中,降低通信延迟40%,减少GPU空闲时间至<5%。好比在做饭的同时准备餐具,充分利用时间。 - 三级负载均衡体系
包括预填充负载、解码负载和专家负载的均衡优化,通过动态分配输入token数、平均分配请求数、监控专家使用频率并动态迁移等方法,实现<2%的负载偏差,避免木桶效应。类似于合理分配工作任务给不同员工,让大家的工作量相对均衡,提高整体工作效率。 - 路由层
DeepSeek推理系统中负责智能请求分发的组件。好比一个快递分拣中心,将不同的请求准确地送到对应的处理单元。 - 缓存系统
用于存储数据的系统,DeepSeek推理系统的磁盘KV缓存命中率达56.3%,意味着有56.3%的请求可以直接从缓存中获取数据,提高了数据获取速度。类似于一个常用物品存放处,大部分时候能快速找到需要的东西。 - 弹性调度
根据不同时间段的需求,动态调整节点用途,如白天全节点推理,夜间部分节点转训练。就像一家工厂,白天全力生产产品,晚上部分设备用于设备维护或其他生产准备工作。 - 精度控制
采用FP8通信 + BF16计算的方式,在保证计算精度的同时,优化计算资源的使用。类似于根据不同需求选择不同精度的工具进行工作,既保证质量又提高效率。 - 动态扩缩容
根据系统负载动态调整所需节点数量,如DeepSeek V3/R1推理系统日间峰值278节点,夜间低谷180节点,并通过基于LSTM的负载预测模型进行智能预测。好比根据不同季节的客流量,调整商场的营业时间和工作人员数量。 - MaaS(模型即服务,Model - as - a - Service)
一种商业模式,当用户量达千万级时,边际成本骤降。类似于共享经济模式,使用的人越多,平均成本越低。 - 超节点趋势
指320卡紧耦合系统成为新标杆,体现了在大模型推理领域对硬件规模和耦合程度的新要求。好比建造大型建筑时,对建筑材料和结构紧密程度有了更高标准。 - 动态稀疏性
在模型计算过程中,动态调整计算资源分配,仅对重要数据进行计算,以优化计算效率。类似于在学习过程中,只重点学习最重要的知识点,提高学习效率。
DeepSeek V3/R1的突破不仅是技术胜利,更揭示了AI基础设施的演进方向:通过系统级创新将摩尔定律延伸至软件维度。随着EP技术的普及,大模型服务正在进入"水电化"的新纪元,而这场变革才刚刚开始。
相关文章:
DeepSeek开源周Day6:DeepSeek V3、R1 推理系统深度解析,技术突破与行业启示
DeepSeek 在开源周第六天再次发文,中文原文、官方号在知乎 DeepSeek - 知乎DeepSeek-V3 / R1 推理系统概览 - 知乎deepseek-ai/open-infra-index: Production-tested AI infrastructure tools for efficient AGI development and community-driven innovation 引言 …...
校园快递助手小程序毕业系统设计
系统功能介绍 管理员端 1)登录:输入账号密码进行登录 2)用户管理:查看编辑添加删除 学生信息 3)寄件包裹管理:查看所有的包裹信息,及物流信息 4)待取件信息:查看已到达的…...
macOS - 使用 tmux
文章目录 安装 tmux使用更多快捷键说明 安装 tmux brew install tmux使用 在终端输入 tmux 进入 tmux 界面,然后 输入 Control Option B 进入交互模式 输入 % 左右分栏," 上下分割 上一个窗格:{,下一个:} PS…...
【网络安全 | 渗透测试】GraphQL精讲一:基础知识
未经许可,不得转载, 文章目录 GraphQL 定义GraphQL 工作原理GraphQL 模式GraphQL 查询GraphQL 变更(Mutations)查询(Queries)和变更(Mutations)的组成部分字段(Fields)参数(Arguments)变量别名(Aliases)片段(Fragments)订阅(Subscriptions)自省(Introspecti…...
配置后端验证功能之validation
哈喽,好久不见。最近项目内网开发导致断更了好久。今天介绍一个简单且有意思的开发技巧吧。之前用过validation后端验证功能但没进一步了解,都只是简单用一下。假如开发中要求传参必须按照规则 不能毫无底线什么都能传,本篇介绍的就是针对此功…...
C# 多线程
概述 进程和线程 进程:指在系统中运行的一个应用程序。 线程:进程中的一个执行任务。一个进程至少有一个线程,一个进程可以有多个线程,多个线程可共享数据。 多线程 多线程:在一个程序中同时运行多个线程࿰…...
钉钉MAKE AI生态大会思考
1. 核心特性 1.1 底层模型开放 除原有模型通义千问外,新接入猎户星空、智普、MinMax、月之暗面、百川智能、零一万物。 1.2 AI搜索 AI搜索贯通企业和个人散落在各地的知识(聊天记录、文档、会议、日程、知识库、项目等),通过大模型对知识逻辑化,直接生成搜索的答案,并…...
自然语言处理:文本表示
介绍 大家好,博主又来给大家分享知识了。今天给大家分享的内容是自然语言处理中的文本表示。 在当今数字化信息爆炸的时代,自然语言处理作为人工智能领域的重要分支,发挥着越来越关键的作用。 而文本表示,则是自然语言处理的基…...
flutter 网络请求封装与json序列化与反序列化
一、用到的工具库 网络请求库 dioflutter pub add diojson序列化与反序列化库 json_annotation//终端直接键入下命令安装 flutter pub add json_annotation dev:build_runner dev:json_serializable二、返回结果泛化封装 以 https://www.wanandroid.com/ api 接口返回结果为例…...
生成网页链接二维码
<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>生成二维码</title><script src"http…...
java关键字-instanceof
主要作用 A instanceof B主要判断以下三个内容(即左边的类型A能否转换为右边的B): 判断对象A是否是B类的对象;判断对象A实现了B接口;判断对象A是否继承了B类; A表示对象,B表示接口/类&#x…...
验证码识别:一文掌握手机验证码的自动化处理
文章目录 一、获取手机验证码1.1 通过短信接收验证码1.2 使用第三方短信接收服务1.3 使用ADB读取手机短信1.4 通过API获取验证码1.5 通过邮件接收验证码二、解析和提取验证码2.1 正则表达式提取2.2 JSON解析三、自动化输入验证码3.1 使用Selenium自动化Web应用3.2 使用Appium自…...
Uppy - 免费开源、功能强大的新一代 web 文件上传组件,支持集成到 Vue 项目
Uppy 这个优质的前端组件,可以解决几乎所有的文件上传问题,最近发布了 TS 重写的 4.0 新版本,实用性更强了。 Uppy 是一个 UI 外观时尚、模块化的 JavaScript 文件上传组件,这个组件可以与任何 web 技术栈集成,不仅轻…...
神经网络参数量计算
算一个只有两层的神经网络的参数量,我们需要考虑两层之间的连接权重和偏置项。以下是详细的计算步骤: 网络结构 输入层(第一层): 有 2 个神经元。 输出层(第二层): 有 3 个神经元。…...
如何为Java面试准备项目经验
1 提出问题 应届生朋友或Java程序员在找Java方面的工作时,一定会需要准备Java项目经验,但事实上不少求职者,是没有项目经验,或者只具有开源社区等的学习项目经验,这样的话,就很有可能在面试时无法有效地证…...
DeepSeek 与云原生后端:AI 赋能现代应用架构
📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 1. 引言 在当今快速发展的互联网时代,云原生(Cloud Native)架构已成为后端开发的主流趋势。云…...
自定义异常
在 Java 中,自定义异常是指根据特定需求创建的异常类。通过自定义异常,可以更好地表示应用程序中的特定错误情况,并提供更清晰的错误信息。以下是关于自定义异常的详细介绍和实现方法: 一、为什么需要自定义异常? 明确…...
题解:洛谷 P2199 最后的迷宫
题目https://www.luogu.com.cn/problem/P2199 显然,数据最大 ,数组我们开不下,动态开数组。 对于每一个查询,从起点开始,走一步判断是否能看到火焰杯。 如果已经没法走了,直接拆墙,输出 Poor…...
JDK包含内容的正确说法及API文档下载
JDK包含内容的正确说法及API文档下载 正确说法:JDK包含JRE和JDK开发工具,而JRE主要包含JVM和核心类库。 因为 旧版 JRE(Java 8 及之前):确实包含 Java 插件(Applet) 和 Java Web Start…...
CTF-web: 查看python代码抽象语法树
抽象语法树(Abstract Syntax Tree,简称 AST)是源代码的树状表示,展示了代码的语法结构。在 Python 中,ast 模块可以帮助你解析和操作 Python 代码的 AST。 1. 使用 ast 模块解析 Python 代码 我们可以使用 ast.parse …...
前端学习——HTML
VSCode常用快捷键 代码格式化:ShiftAltF 向上或向下移动一行:AltUp或AltDown 快速复制一行代码:ShiftAltUp或者ShiftAltDown 快速替换:CtrlH HTML标签 文本标签 定义着重文字 定义粗体文字 定义斜体文字 加重语气 删除字 无特…...
Ubuntu 下 nginx-1.24.0 源码分析 - ngx_open_file
ngx_open_file 定义在src/os/unix/ngx_files.h #define ngx_open_file(name, mode, create, access) \open((const char *) name, mode|create, access)#define NGX_FILE_RDONLY O_RDONLY #define NGX_FILE_WRONLY O_WRONLY #de…...
Window C++模拟单片机控制TFT屏幕和SD卡
因为每次都要做大量的测试,上传到单片机实在是太费事,所以写了这个模拟项目用来测试 很多方法我没有补充进去,因为太多了,如果有需要请自行补充 stdafx.h #pragma once#include<iostream> #include<atlimage.h> #in…...
记录一次FastDFS内部文件迁移过程
场景:dockr部署下的一个DFS环境,切换环境将原DFS内的所有文件全部迁移走,老版本的镜像包现不可使用,所以重新搭建并迁移外挂包下的所有文件 一、定位存储路径及备份 确定容器内存储路径 根据使用的Docker镜像不同࿰…...
【数据挖掘】Matplotlib
Matplotlib 是 Python 最常用的 数据可视化 库之一,在数据挖掘过程中,主要用于 数据探索 (EDA)、趋势分析、模式识别 和 结果展示。 📌 1. Matplotlib 基础 1.1 安装 & 导入 # 如果未安装 Matplotlib,请先安装 # pip instal…...
Python数据序列化技术:高效存储与传输的最佳实践
在现代软件开发中,数据序列化是一个关键环节,它允许我们将复杂的数据结构转换为可存储或可传输的格式,以便在不同的系统或程序之间共享和持久化。Python提供了多种数据序列化技术,每种技术都有其独特的性能优势和适用场景。本文将…...
大模型function calling:让AI函数调用更智能、更高效
大模型function calling:让AI函数调用更智能、更高效 随着大语言模型(LLM)的快速发展,其在实际应用中的能力越来越受到关注。Function Calling 是一种新兴的技术,允许大模型与外部工具或API进行交互,从而扩…...
HarmonyOS学习第12天:解锁表格布局的奥秘
表格布局初相识 不知不觉,我们在 HarmonyOS 的学习旅程中已经走到了第 12 天。在之前的学习里,我们逐步掌握了 HarmonyOS 开发的各种基础与核心技能,比如组件的基本使用、布局的初步搭建等,这些知识就像一块块基石,为我…...
基于 MetaGPT 自部署一个类似 MGX 的多智能体协作框架
MGX(由 MetaGPT 团队开发的 mgx.dev)是一个收费的多智能体编程平台,提供从需求分析到代码生成、测试和修复的全流程自动化功能。虽然 MGX 本身需要付费,但您可以通过免费服务和开源项目搭建一个类似的功能。以下是一个分步骤的实现…...
Cargo, the Rust package manager, is not installed or is not on PATH.
今天在Windows操作系统上通过pip 安装jupyter的时候遇到这个报错,Cargo, the Rust package manager, is not installed or is not on PATH.。 解决办法 官网:https://rustup.rs/# 下载:https://win.rustup.rs/x86_64 安装完成之后,…...
Spring AI:开启Java开发的智能新时代
目录 一、引言二、什么是 Spring AI2.1 Spring AI 的背景2.2 Spring AI 的目标 三、Spring AI 的核心组件3.1 数据处理3.2 模型训练3.3 模型部署3.4 模型监控 四、Spring AI 的核心功能4.1 支持的模型提供商与类型4.2 便携 API 与同步、流式 API 选项4.3 将 AI 模型输出映射到 …...
华为昇腾910b服务器部署DeepSeek翻车现场
最近到祸一台HUAWEI Kunpeng 920 5250,先看看配置。之前是部署的讯飞大模型,发现资源利用率太低了。把5台减少到3台,就出了他 硬件配置信息 基本硬件信息 按照惯例先来看看配置。一共3块盘,500G的系统盘, 2块3T固态…...
c++ 文件及基本读写总结
在 C 中,文件操作是非常重要的一部分,主要用于将数据存储到文件中,或者从文件中读取数据。C 标准库提供了fstream头文件,其中包含了用于文件操作的类,主要有ifstream(用于输入文件流,即从文件读…...
千峰React:组件与逻辑封装(上)
UI组件库及antd安装 UI组件库就是把页面的组件写好了,用的时候直接调用好了 进行一个安装的动作: 总之就是搭积木,可以调用里面写好的组件库拼接,也可以结合使用 antd布局和导航组件 组件总览 - Ant Design 这是通用部分 在用…...
Windows 10 远程桌面连接使用指南
目录 一、引言 二、准备工作 1、确认系统版本 2、服务器端设置 三、客户端连接 1、打开远程桌面连接程序 2、输入连接信息 3、输入登录凭证 4、开始使用远程桌面 四、移动端连接(以 iOS 为例) 1、下载安装应用 2、添加远程计算机 3、进行连接…...
使用Kali中的Metasploit生成木马控制Windows系统
使用Kali中的Metasploit生成木马控制Windows系统 (第九天 9.20) 一、kali及Metasploit kali基于debin的数字取证系统,上面集成很多渗透测试工具,其前身是BT5 R3(BrackTrack),在信息搜集方面发…...
Python与Web3.py库:构建去中心化应用的未来
Python与Web3.py库:构建去中心化应用的未来 在区块链的世界里,“去中心化”是最核心的理念之一,它赋予了用户更多的控制权和自由,消除了传统中心化系统中的单点故障和信任问题。而在这场技术革命中,Web3.0无疑是最受瞩…...
《Python实战进阶》No 8:部署 Flask/Django 应用到云平台(以Aliyun为例)
第8集:部署 Flask/Django 应用到云平台(以Aliyun为例) 2025年3月1日更新 增加了 Ubuntu服务器安装Python详细教程链接。 引言 在现代 Web 开发中,开发一个功能强大的应用只是第一步。为了让用户能够访问你的应用,你需…...
RAP: Efficient Text-Video Retrieval with Sparse-and-Correlated Adapter
标题:RAP:基于稀疏相关适配器的高效文本视频检索 原文链接:RAP: Efficient Text-Video Retrieval with Sparse-and-Correlated Adapter - ACL Anthology 发表:ACL-2024(NLP领域CCF A类) 摘要 文本-视频检索(TVR࿰…...
C++ ++++++++++
初始C 注释 变量 常量 关键字 标识符命名规则 数据类型 C规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存 整型 sizeof关键字 浮点型(实型) 有效位数保留七位,带小数点。 这个是保…...
用Python之requests库调用大型语言模型(LLM)API的流式输出与非流式输出比较
文章目录 1. 非流式输出与流式输出概述2. 非流式输出2.1 代码实例12.2 代码实例2 3. 流式输出3.1 流式输出的定义和作用3.2 流式输出适用的场景3.3 流式输出的实现方式与实现技术3.4 代码实例33.5 代码实例4 4. 小结 1. 非流式输出与流式输出概述 大模型收到输入后并不是一次性…...
JavaEE基础之- 过滤器和监听器Filter and Listener
目录 1. 过滤器 Filter 1.1. 初识过滤器 1.1.1. 过滤器概念 1.1.2. 过滤器例子 1.2. 过滤器详解 1.2.1. 过滤器生命周期 1.2.2. FilterConfig 1.2.3. FilterChain 1.1.4. 过滤器执行顺序 1.2.5. 过滤器应用场景 1.2.6. 过滤器设置目标资源 1.2.7. 过滤器总结 1.3 过滤…...
JavaAdv01——字节流和字符流
一、核心概念解析 1. 字节流(Byte Streams) 字节流家族: 输入流:InputStream(抽象类) FileInputStream ByteArrayInputStream BufferedInputStream 输出流:OutputStream FileOutputStream…...
HarmonyOS 5.0应用开发——多线程Worker和@Sendable的使用方法
【高心星出品】 文章目录 多线程Worker和Sendable的使用方法开发步骤运行结果 多线程Worker和Sendable的使用方法 Worker在HarmonyOS中提供了一种多线程的实现方式,它允许开发者在后台线程中执行长耗时任务,从而避免阻塞主线程并提高应用的响应性。 S…...
AI赋能传热学研究:创新与乐趣的深度融合
在科技飞速发展的当下,人工智能(AI)已逐渐渗透到各个领域,为不同行业带来了前所未有的变革与机遇。对于传热学研究而言,AI的介入不仅极大地提高了研究效率,还为研究者带来了全新的体验和思考。本文将深入探…...
Hive-03之传参、常用函数、explode、lateral view、行专列、列转行、UDF
大数据分析利器之hive 一、目标 掌握hive中select查询语句中的基本语法掌握hive中select查询语句的分组掌握hive中select查询语句中的join掌握hive中select查询语句中的排序 二、要点 1、hive的参数传递 1、Hive命令行 语法结构 hive [-hiveconf xy]* [<-i filename&…...
如何将Vue项目部署至 nginx
一、准备工作 1.确保安装了开发软件VS Code(此处可查阅安装 VS Code教程),确保相关插件安装成功 2.安装Node.js和创建Vue项目(此处可查阅安装创建教程) 3.成功在VS Code运行一个Vue项目(此处可查阅运行教…...
SwiftUI之状态管理全解析
文章目录 引言一、`@State`1.1 基本概念1.2 初始化与默认值1.3 注意事项二、`@Binding`2.1 基本概念2.2 初始化与使用2.3 注意事项三、`@ObservedObject`3.1 基本概念3.2 初始化与使用3.3 注意事项四、`@EnvironmentObject`4.1 基本概念4.2 初始化与使用4.3 注意事项五、`@Stat…...
Java-servlet(一)Web应用与服务端技术概念知识讲解
Java-servlet(一)Web应用与服务端技术概念知识讲解 前言一、Web 应用1.WEB CS BS 对比2.WEB 介绍3.web 与 http 的关系 二、servlet服务端技术1. 公共网关接口(CGI)2. servlet 是什么3.servlet 作用4. servlet 特性 前言 在当今时…...
多个pdf合并成一个pdf的方法
将多个PDF文件合并优点: 能更容易地对其进行归档和备份.打印时可以选择双面打印,减少纸张的浪费。比如把住宿发票以及滴滴发票、行程单等生成一个pdf,双面打印或者无纸化办公情况下直接发送给财务进行存档。 方法: 利用PDF24 Tools网站 …...