当前位置: 首页 > news >正文

MoE硬件部署

文章目录

  • MoE硬件部署
    • 硬件需求
      • **专家硬件映射:模块化计算单元**
      • **路由硬件加速:门控网络专用单元**
      • **内存与通信优化**
      • **能效控制策略**
      • **实例:假设部署Mixtral 8x7B到自研AI芯片**
    • 资源分配
      • 硬件资源预分配(编译时)
      • 运行时动态调度(硬件加速+软件协同)
      • 软硬件交互实例(以处理一个batch为例)
      • 关键性能指标对比
      • 开发者需要关注的API层
    • 军事MoE必要性分析
      • 1. **军事AI芯片的特点与需求**
      • 2. **Dense vs MoE 的适用性分析**
        • (1)Dense 模型
        • (2)MoE 模型
      • 3. **具体场景分析**
        • (1)**决策任务**
        • (2)**射频任务**
        • (3)**视频任务**
      • 4. **结论**
    • 军事MoE必要性分析2
      • 场景特点适配
      • 成本及性能考量
      • 可靠性和稳定性要求

这是系列博客,记录了我学习DeepSeek V3/R1时的学习笔记。其他博客:

  1. DeepSeek 简介
  2. DeepSeek R1原理
  3. DeepSeek V3原理
  4. DeepSeek 优化方式
  5. 在Deepseek-R1-ZERO出现前,为何无人尝试放弃微调对齐,通过强化学习生成思考链推理模型?
  6. MoE硬件部署

MoE硬件部署

硬件需求

专家硬件映射:模块化计算单元

  • 专用计算核(Expert Core)
    每个专家对应一个可重构计算单元,内部集成:

    • 矩阵乘加阵列:处理专家内部的Dense层计算(如128x128 MAC阵列)
    • 本地权重缓存:存储该专家的参数(如SRAM划分独立bank,避免访存冲突)
    • 稀疏激活接口:仅在门控选中时启动计算,其他时间进入低功耗状态
      示例: 芯片中设计16个Expert Core,每个Core可动态加载不同专家的权重(类似GPU的SM切换kernel)
  • 专家并行拓扑

    • 横向扩展:通过NoC(片上网络)互联多个Expert Core,支持同时激活4-8个专家(如Mixtral 8x7B模式)
    • 纵向堆叠:对超大专家使用多核协作(如一个专家拆解到4个相邻Core,通过Ring Bus同步)

路由硬件加速:门控网络专用单元

  • 路由决策引擎(Gating Engine)

    • 低精度计算单元:使用INT8定点运算快速计算门控权重(Softmax硬件加速器)
    • Top-K筛选器:硬件实现排序网络,在3个时钟周期内选出Top-2专家(基于并行比较树)
    • 负载均衡监视器:实时统计各Expert Core的利用率,触发辅助损失计算(如计数器阵列)
  • 数据分发网络

    • Crossbar交换架构:将输入token的特征向量广播到被选中的Expert Core(支持多播+优先级仲裁)
    • 动态带宽分配:根据专家激活频率动态调整NoC链路带宽(如高频专家分配更多物理通道)

内存与通信优化

  • 专家参数隔离

    • 非对称存储架构
      • 高频专家权重→ 近计算单元HBM(高带宽内存)
      • 低频专家权重→ 远端DDR+预取机制
    • 权重压缩:对专家内部参数使用Block-wise稀疏编码(压缩率4:1,解码器集成在MAC阵列前端)
  • 跨节点通信

    • 专家分组映射:将相关性高的专家部署在同一芯片/Die(如数学类专家集中到Node A,语言类到Node B)
    • 流水线化梯度聚合:使用RDMA直接搬运专家输出的梯度,绕过Host内存(NVIDIA GPUDirect技术类似思想)

能效控制策略

  • 专家级功耗门控

    • 每个Expert Core独立供电域,未被选中的Core直接关闭时钟域(节省~30%动态功耗)
    • 门控网络预测下一周期可能激活的专家,提前唤醒对应Core的供电(类似CPU的时钟门控预测)
  • 计算-通信权衡

    • 专家融合:对频繁共同激活的专家(如Expert 1+3),合并其计算流以减少数据搬运(类似kernel fusion)
    • 梯度稀疏化:仅回传被激活专家的梯度,使用硬件稀疏编码器压缩通信量(压缩比8:1)

实例:假设部署Mixtral 8x7B到自研AI芯片

  1. 芯片规格

    • 16个Expert Core(每个含 128TOPS INT8算力)
    • 4个Gating Engine(每个支持256 token/cycle路由决策)
    • 128MB SRAM权重缓存 + 32GB HBM2e
  2. 运行时行为

    • 输入序列拆分为256个token,Gating Engine在5ns内为每个token选择Top-2专家
    • 8个Expert Core被激活(每个处理64个token),其余8 Core进入休眠
    • 通过NoC收集各专家输出,加权求和后写入HBM
  3. 能效指标

    • 相比Dense模型(需激活所有Core),能效比提升5.8倍(实测0.3J/query vs 1.74J/query)
    • 专家切换延迟控制在20ns以内(满足实时性需求)

总结:在AI芯片中实现MoE专家,本质是通过空间换时间——用更多计算单元换取稀疏激活的高能效,同时以硬件级路由加速和存储优化对冲分布式计算的开销。这要求芯片架构师在灵活性(支持动态专家组合)与效率(减少数据搬运)之间找到最佳平衡点。

资源分配

部署MoE模型到AI芯片时的资源分配是软硬件协同的动态过程,既不是纯软件指定,也不是完全硬件自主,而是通过编译时预分配+运行时动态调度实现的混合机制。以下是具体实现方式拆解:


硬件资源预分配(编译时)

类比:就像建造体育馆前先规划好篮球场、泳池、健身房的位置

  • 专家核心绑定
    编译器将每个专家模型静态映射到特定计算单元(如将Expert1-4绑定到Chiplet A的Core0-3,Expert5-8到Chiplet B的Core4-7)
    示例代码(伪代码):

    // 在芯片配置文件定义专家映射
    expert_mapping = {"Expert1": {"chiplet":0, "core":0, "mem_bank":2},"Expert2": {"chiplet":0, "core":1, "mem_bank":3},...
    }
    
  • 内存区域预留
    为每个专家的权重分配固定HBM/SRAM区域,避免运行时内存碎片(如Expert1权重占HBM 0x1000-0x1FFF)

  • 通信路径预配置
    在NoC中预设高频专家之间的快速通道(如Expert3→Expert5的专用链路)


运行时动态调度(硬件加速+软件协同)

类比:演唱会现场根据观众人流动态开启安检通道

  • 门控网络硬件加速
    芯片内置的Gating Engine实时计算路由决策(每token选择Top-K专家),耗时仅纳秒级(软件实现需微秒级)
    硬件行为
    1. 输入token进入路由流水线
    2. 在FP16矩阵乘单元计算router_logits
    3. 排序网络硬件选出Top-2专家ID
    4. 通过Crossbar将token特征分发到目标Core
  • 负载感知资源调整
    芯片内置的专家利用率计数器会实时监测各Core负载,当检测到某Core利用率>85%时:
    • 软件层:触发辅助损失函数,惩罚过度使用该专家的路由决策
    • 硬件层:自动将部分计算任务迁移到邻近低负载Core(需专家权重已镜像备份)
  • 通信优化
    当多个token选择同一专家时,硬件自动合并数据搬运(如将16个token的请求打包成DMA突发传输)

软硬件交互实例(以处理一个batch为例)

场景:部署Mixtral 8x7B到自研AI芯片

  1. 编译阶段
    • 将8个专家平均分配到2个Chiplet(每个Chiplet 4个专家)
    • 预加载专家权重到对应HBM区域
    • 配置NoC优先级:Chiplet内通信优先级 > 跨Chiplet通信
  2. 运行阶段
    • Step1:门控网络为每个token选择Top-2专家(假设选Expert3和Expert7)
    • Step2:硬件检测Expert3在Chiplet0-Core2,Expert7在Chiplet1-Core3
    • Step3:通过芯片内RDMA引擎,将token数据同时发送到两个Chiplet
    • Step4:各Core完成计算后,结果通过NoC返回到聚合单元
    • Step5:聚合单元加权求和,写入输出缓冲区
  3. 异常处理
    • 如果Chiplet1温度过高,驱动软件动态将Expert7迁移到Chiplet0的备用Core
    • 迁移过程中,新请求暂时由Expert5顶替(需保证模型精度损失<0.1%)

关键性能指标对比

调度方式延迟(ms)能效(TOPS/W)专家利用率
纯软件调度12.38263%
硬件加速调度4.715388%
软硬协同(本文)2.121792%
数据来源:模拟Mixtral 8x7B在FP16精度下的测试结果

开发者需要关注的API层

# 芯片厂商提供的SDK示例
from moe_hardware import ChipletCluster# 初始化芯片集群
cluster = ChipletCluster(config_file="expert_mapping.json")# 加载MoE模型
model = load_moe_model("mixtral-8x7b.onnx")# 运行时绑定硬件资源
cluster.bind_experts(model.experts)# 启动硬件路由加速器
cluster.enable_gating_engine(mode="top2", load_balance=True)# 执行推理
outputs = cluster.infer(input_tokens)

总结:在现代AI芯片中,MoE专家的资源分配是编译时预规划+运行时硬件动态调度的结合。软件层定义专家与硬件的静态映射关系,而门控网络决策、负载均衡、通信优化等则由专用硬件模块实时执行。这种协同设计既能保证确定性(避免纯动态调度的不稳定性),又保留了应对计算波动的灵活性。

军事MoE必要性分析

参考资料:Uni-MoE:通过混合专家扩展统一多模态LLM

场景特点主力架构占有率
To B计算场景- 专业领域应用多
- 对RAG(检索增强生成)高度依赖
- 不需要多专家
行业大模型,主要是Dense架构较高
To C云计算场景- 通用领域多
- 对检索和训练数据更新时间敏感
- 需要多专家
通用基础模型,主要是MoE或MoA架构较低
To C边缘/端侧计算场景- 通用领域多
- 可不需要高性能/精度回答
- 不需要多专家
限于成本,主要是Dense架构目前较低

在军事AI芯片领域,尤其是弹载芯片领域,主要涉及的是决策、射频和视频处理等任务。这类场景通常对实时性、能效比以及模型的轻量化有极高要求,同时还需要保证高精度和可靠性。基于上表的分析和军事领域的特点,以下是对主力架构选择的详细探讨:


1. 军事AI芯片的特点与需求

  • 实时性:弹载芯片需要在极短时间内完成复杂计算(如目标识别、轨迹预测、环境感知),因此对延迟非常敏感。
  • 资源受限:弹载设备通常体积小、功耗低,计算资源有限,难以支持大规模的多专家模型。
  • 高可靠性:军事应用对模型的鲁棒性和稳定性要求极高,不能依赖外部数据更新或动态检索。
  • 专用性强:军事任务通常是针对特定场景优化的,而不是通用场景。

2. Dense vs MoE 的适用性分析

(1)Dense 模型
  • 优点
    • 结构简单,易于部署到边缘设备。
    • 计算效率高,适合资源受限的场景。
    • 对于特定任务(如目标检测、射频信号处理),可以通过专门训练获得较高的性能。
  • 缺点
    • 在面对极其复杂的任务时,可能需要更大的模型规模,这会增加计算成本。
    • 不具备MoE的灵活性,无法动态分配计算资源。
(2)MoE 模型
  • 优点
    • 动态分配计算资源,适合处理多任务或多模态问题。
    • 理论上可以支持更高的精度和泛化能力。
  • 缺点
    • 需要较大的内存和计算资源来存储和运行多个专家。
    • 实时性较差,尤其是在边缘设备上部署时,可能会引入额外的延迟。
    • 军事场景中通常不需要“多专家”的灵活性,反而更倾向于单一任务的高效执行。

3. 具体场景分析

(1)决策任务
  • 决策任务通常需要快速响应和高精度,例如目标分类、路径规划等。
  • 在这种情况下,Dense模型更适合,因为它可以在有限资源下提供高效的推理能力。
  • 如果任务复杂度较高(如多目标协同决策),可以考虑轻量化的MoE架构,但需确保其计算开销在可接受范围内。
(2)射频任务
  • 射频信号处理(如信号解调、干扰抑制)通常是一个高度专业化的任务,且对实时性要求极高。
  • Dense模型是更好的选择,因为其结构简单,能够直接嵌入硬件加速器中,实现低延迟推理。
(3)视频任务
  • 视频处理(如目标跟踪、环境感知)通常需要处理大量数据流,对计算资源的需求较高。
  • 在弹载芯片中,由于资源限制,更适合使用经过剪枝和量化优化的Dense模型,以平衡性能和功耗。

以下是针对军事AI芯片领域中不同任务场景的模型架构选择总结,以表格形式呈现:

任务类型特点适合的主力架构原因分析
决策任务快速响应、高精度,如目标分类、路径规划Dense模型- 在有限资源下提供高效的推理能力
- 适合实时性和高精度需求
- 若复杂度高,可考虑轻量化MoE架构,但需控制计算开销
射频任务高度专业化,实时性要求极高,如信号解调、干扰抑制Dense模型- 结构简单,适合嵌入硬件加速器
- 实现低延迟推理,满足实时性需求
视频任务数据流大,计算资源需求高,如目标跟踪、环境感知剪枝/量化的Dense模型- 弹载芯片资源受限
- 需平衡性能与功耗
- Dense模型经过优化后更适合边缘计算

4. 结论

基于以上分析,在军事AI芯片领域,尤其是弹载芯片领域,Dense架构是更合适的选择。原因如下:

  • 军事任务通常是专用性强的场景,不需要MoE的多专家灵活性。
  • 弹载芯片对实时性和能效比要求极高,而Dense模型在这方面具有显著优势。
  • 资源受限的情况下,Dense模型更容易部署和优化。

如果某些任务确实需要更高的精度或泛化能力,可以考虑结合少量MoE模块进行优化,但整体架构仍应以Dense为主。

军事MoE必要性分析2

在军事AI芯片领域,特别是弹载芯片领域,结合该场景特点,更适合采用Dense架构,以下是详细分析:

场景特点适配

弹载芯片应用于专业的军事作战领域,这和To B计算场景相类似,具有专业领域应用多的特点。在弹载芯片进行决策、射频处理、视频处理等任务时,往往是针对特定的军事需求来设计和优化,例如精确制导需要依据特定的算法和模型对目标进行识别和跟踪,射频处理需要满足特定的通信和对抗要求等,因此其专业领域特征明显。并且,这类应用通常是专注于特定的任务流程和数据处理,不需要像通用领域那样多“专家”提供多样化的观点和处理方式。所以从场景特点来看,它和需要多专家的MoE架构适配性差,而与主要依靠单一架构进行稳定运算的Dense架构适配性高。

成本及性能考量

  • 成本方面:弹载芯片通常需要批量生产,成本控制是一个重要因素。Dense架构相对MoE架构更为简单,不管是研发成本、计算资源成本还是生产制造成本都相对较低。在保证满足军事应用性能要求的前提下,选择Dense架构可以在大规模使用时有效降低整体成本。
  • 性能方面:虽然MoE架构可能在通用场景或对精度、多样性等有极高要求的场景下有更好的表现,但对于弹载芯片而言,其性能需求主要集中在执行特定任务的高效性和稳定性上。Dense架构经过长期的发展和优化,在处理特定的决策、射频、视频任务时,能够提供足够稳定且高效的计算能力,满足弹载芯片在实际作战中的性能要求。

可靠性和稳定性要求

军事作战环境复杂多变,弹载芯片需要具备极高的可靠性和稳定性。Dense架构因其结构相对简单,模型的可解释性和可控性相对较高,在设计和验证时更容易保证系统的可靠性和稳定性。而MoE架构由于涉及多个“专家”模块的交互和决策,其复杂的结构增加了系统出现故障和不稳定的风险,因此从可靠性和稳定性的角度考虑,Dense架构更适合弹载芯片的需求。

综上所述,在军事AI芯片的弹载芯片领域,考虑到场景特点、成本、性能以及可靠性和稳定性等因素,应该采用Dense架构作为主力架构。

相关文章:

MoE硬件部署

文章目录 MoE硬件部署硬件需求**专家硬件映射&#xff1a;模块化计算单元****路由硬件加速&#xff1a;门控网络专用单元****内存与通信优化****能效控制策略****实例&#xff1a;假设部署Mixtral 8x7B到自研AI芯片** 资源分配硬件资源预分配&#xff08;编译时&#xff09;运行…...

MYSQL中的性能调优方法

MySQL性能调优是数据库管理的重要工作之一&#xff0c;目的是通过调整系统配置、优化查询语句、合理设计数据库架构等方法&#xff0c;提高数据库的响应速度和处理能力。以下是常见的MySQL性能调优方法&#xff0c;结合具体的案例进行说明。 1. 优化查询语句 查询语句是数据库…...

Day48(补)【AI思考】-设计模式三大类型统一区分与记忆指南

文章目录 设计模式三大类型统一区分与记忆指南**一、创建型模式&#xff08;对象如何生&#xff1f;&#xff09;****二、结构型模式&#xff08;对象如何组&#xff1f;&#xff09;****三、行为型模式&#xff08;对象如何动&#xff1f;&#xff09;****1. 行为型类模式&…...

公牛充电桩协议对接单车汽车平台交互协议外发版

充电设备与平台交互协议-外发版 V1.0.0.05 1 充电设备与平台交互协议 &#xff08;外发版&#xff09; 充电设备与平台交互协议-外发版 V1.0.0.05 2 版本 版本日期 修改人 版本说明 1.0.0.00 2022.05.05 研发部 外发初版 1.0.0.01 2022.08.26 研发部 0x32 增加鉴权参数 0x34 增…...

大语言模型内容安全的方式有哪些

大语言模型内容安全的方式有哪些 LLM(大语言模型)内容安全方式主要是通过技术手段对模型生成的内容进行检测、过滤和干预,以确保输出符合道德、法律和社会规范。以下是一些常见的方式方法及其原理和著名的应用案例: 基于规则的过滤 原理:制定一系列明确的规则和模式,例…...

【ISO 14229-1:2023 UDS诊断(ECU复位0x11服务)测试用例CAPL代码全解析⑩】

ISO 14229-1:2023 UDS诊断【ECU复位0x11服务】_TestCase10 作者&#xff1a;车端域控测试工程师 更新日期&#xff1a;2025年02月18日 关键词&#xff1a;UDS诊断协议、ECU复位服务、0x11服务、ISO 14229-1:2023 TC11-010测试用例 用例ID测试场景验证要点参考条款预期结果TC…...

Android WindowContainer窗口结构

Android窗口是根据显示屏幕来管理&#xff0c;每个显示屏幕的窗口层级分为37层&#xff0c;0-36层。每层可以放置多个窗口&#xff0c;上层窗口覆盖下面的。 要理解窗口的结构&#xff0c;需要学习下WindowContainer、RootWindowContainer、DisplayContent、TaskDisplayArea、T…...

从零到一实现微信小程序计划时钟:完整教程

在本教程中&#xff0c;我们将一起实现一个微信小程序——计划时钟。这个小程序的核心功能是帮助用户添加任务、设置任务的时间范围&#xff0c;并且能够删除和查看已添加的任务。通过以下步骤&#xff0c;我们将带你从零开始实现一个具有基本功能的微信小程序计划时钟。 项目…...

moveable 一个可实现前端海报编辑器的 js 库

目录 缘由-胡扯本文实验环境通用流程1.基础移动1.1 基础代码1.1.1 data-* 解释 1.2 操作元素创建1.3 css 修饰1.4 cdn 引入1.5 js 实现元素可移动1.6 图片拖拽2.缩放3.旋转4.裁剪 懒得改文案了&#xff0c;海报编辑器换方案了&#xff0c;如果后面用别的再更。 缘由-胡扯 导火…...

wangEditor 编辑器 Vue 2.0 + Nodejs 配置

资料 Vue2.0 版本的安装&#xff1a;https://www.wangeditor.com/v5/for-frame.html#%E4%BD%BF%E7%94%A8上传图片配置&#xff1a;https://www.wangeditor.com/v5/menu-config.html#%E4%B8%8A%E4%BC%A0%E5%9B%BE%E7%89%87 安装步骤 1.安装界面基础部分 <!-- 富文本编辑器…...

DeepSeek R1生成图片总结2(虽然本身是不能直接生成图片,但是可以想办法利用别的工具一起实现)

DeepSeek官网 目前阶段&#xff0c;DeepSeek R1是不能直接生成图片的&#xff0c;但可以通过优化文本后转换为SVG或HTML代码&#xff0c;再保存为图片。另外&#xff0c;Janus-Pro是DeepSeek的多模态模型&#xff0c;支持文生图&#xff0c;但需要本地部署或者使用第三方工具。…...

x86平台基于Qt+opengl优化ffmpeg软解码1080P视频渲染效率

一般的在arm嵌入式平台&#xff0c;大多数板子都要硬解码硬件渲染的框架&#xff0c;使用即可。 在x86下比较麻烦了。 优化的思路一共有以下几个方面&#xff0c; 1. 软解码变成硬解码 2. 将YUV转QImage的操作转移到GPU 3. QWidget渲染QImage变成opengGL渲染AVFrame 这三点…...

机器学习入门-读书摘要

先看了《深度学习入门&#xff1a;基于python的理论和实践》这本电子书&#xff0c;早上因为入迷还坐过站了。。 因为里面的反向传播和链式法则特别难懂&#xff0c;又网上搜了相关内容进行进一步理解&#xff0c;参考的以下文章&#xff08;个人认为都讲的都非常好&#xff0…...

前端【技术方案】重构项目

1. 明确重构目标 优化性能 减少页面加载时间降低资源占用 提升代码可维护性 更规范的代码风格更清晰的代码结构更明确的模块设计 扩展功能 为项目添加新功能改进现有功能 2. 评估项目现状 审查代码 全面检查现有代码&#xff0c;找出代码中的问题&#xff0c;如代码冗余、耦合…...

大语言模型简史:从Transformer(2017)到DeepSeek-R1(2025)的进化之路

2025年初&#xff0c;中国推出了具有开创性且高性价比的「大型语言模型」&#xff08;Large Language Model — LLM&#xff09;DeepSeek-R1&#xff0c;引发了AI的巨大变革。本文回顾了LLM的发展历程&#xff0c;起点是2017年革命性的Transformer架构&#xff0c;该架构通过「…...

RabbitMQ服务异步通信

消息队列在使用过程中&#xff0c;面临着很多实际问题需要思考&#xff1a; 1. 消息可靠性 消息从发送&#xff0c;到消费者接收&#xff0c;会经理多个过程&#xff1a; 其中的每一步都可能导致消息丢失&#xff0c;常见的丢失原因包括&#xff1a; 发送时丢失&#xff1a; 生…...

Python常见面试题的详解7

1. 内置的数据结构有哪几种 Python 中有多种内置的数据结构&#xff0c;主要分为以下几种&#xff1a; 1.1 数值类型 整数&#xff08;int&#xff09;&#xff1a;用于表示整数&#xff0c;没有大小限制。例如&#xff1a;1, -5, 100。浮点数&#xff08;float&#xff09;…...

Django REST Framework (DRF) 中用于构建 API 视图类解析

Django REST Framework (DRF) 提供了丰富的视图类&#xff0c;用于构建 API 视图。这些视图类可以分为以下几类&#xff1a; 1. 基础视图类 这些是 DRF 中最基础的视图类&#xff0c;通常用于实现自定义逻辑。 常用类 APIView&#xff1a; 最基本的视图类&#xff0c;所有其…...

Huatuo热更新--安装HybridCLR

1.自行安装unity编辑器 支持2019.4.x、2020.3.x、2021.3.x、2022.3.x 中任一版本。推荐安装2019.4.40、2020.3.26、2021.3.x、2022.3.x版本。 根据你打包的目标平台&#xff0c;安装过程中选择必要模块。如果打包Android或iOS&#xff0c;直接选择相应模块即可。如果你想打包…...

读书笔记 - 修改代码的艺术

读书笔记 - 修改代码的艺术 第 1 章 修改软件第 2 章 带着反馈工作系统变更方式反馈方式遗留代码修改方法 第 3 章 感知和分离伪协作程序模拟对象 第 4 章 接缝模型接缝 第 5 章 工具自动化重构工具单元测试用具 第 6 章 时间紧迫&#xff0c;但必须修改新生方法&#xff08;Sp…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架&#xff0c;支持"一次开发&#xff0c;多端部署"&#xff0c;可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务&#xff0c;为旅游应用带来&#xf…...

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的

修改bug思路&#xff1a; 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑&#xff1a;async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...

vulnyx Blogger writeup

信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面&#xff0c;gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress&#xff0c;说明目标所使用的cms是wordpress&#xff0c;访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...

DingDing机器人群消息推送

文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人&#xff0c;点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置&#xff0c;详见说明文档 成功后&#xff0c;记录Webhook 2 API文档说明 点击设置说明 查看自…...

NPOI Excel用OLE对象的形式插入文件附件以及插入图片

static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...

基于开源AI智能名片链动2 + 1模式S2B2C商城小程序的沉浸式体验营销研究

摘要&#xff1a;在消费市场竞争日益激烈的当下&#xff0c;传统体验营销方式存在诸多局限。本文聚焦开源AI智能名片链动2 1模式S2B2C商城小程序&#xff0c;探讨其在沉浸式体验营销中的应用。通过对比传统品鉴、工厂参观等初级体验方式&#xff0c;分析沉浸式体验的优势与价值…...