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

大数据(7)Kafka核心原理揭秘:从入门到企业级实战应用

目录

      • 一、大数据时代的技术革命
        • 1.1 消息中间件演进史
        • 1.2 Kafka核心设计哲学
      • 二、架构深度解构
        • 2.1 核心组件拓扑
          • 2.1.1 副本同步机制(ISR)
        • 2.2 生产者黑科技
        • 2.3 消费者演进路线
      • 三、企业级应用实战
        • 3.1 金融行业实时风控
        • 3.2 物联网数据管道
      • 四、生产环境优化指南
        • 4.1 集群规划黄金法则
        • 4.2 JVM参数模板
        • 4.3 监控指标体系
      • 五、技术演进与生态融合
        • 5.1 云原生转型
        • 5.2 流处理新范式
        • 5.3 生态全景图
      • 六、最佳实践总结
        • 大数据相关文章(推荐)

一、大数据时代的技术革命

1.1 消息中间件演进史

2000-2010年传统消息队列的三大痛点

  • ‌系统耦合‌:ActiveMQ的队列绑定机制导致架构僵化
  • ‌性能瓶颈‌:RabbitMQ单节点吞吐量上限5w/s
  • ‌扩展困难‌:IBM MQ集群扩容需要停机维护

LinkedIn在2011年创造的Kafka打破技术困局,现已成为处理日均万亿级消息的行业标准。全球TOP100互联网企业中,92%的生产系统使用Kafka处理核心数据流。

1.2 Kafka核心设计哲学
发布订阅模式
分布式提交日志
水平扩展
零拷贝传输
流式处理
Exactly-Once语义

二、架构深度解构

2.1 核心组件拓扑
// 典型集群配置示例
public class KafkaConfig {private static final int BROKERS = 5;  // 物理节点数private static final int PARTITIONS = 32; // 每个Topic分区数private static final short REPLICATION = 3; // 副本因子
}
2.1.1 副本同步机制(ISR)
  • Leader副本选举算法:基于ZooKeeper的Watch机制
  • Follower同步策略:HW(High Watermark)与LEO(Log End Offset)协同
  • 数据可靠性保障:min.insync.replicas=2的黄金配置法则
2.2 生产者黑科技
# 高效发送示例(Confluent Kafka库)
producer = Producer({'bootstrap.servers': 'kafka1:9092,kafka2:9092','acks': 'all',  # 最高可靠性'compression.type': 'zstd',  # 压缩率提升30%'linger.ms': 20,  # 批量发送优化'max.in.flight.requests.per.connection': 5
})
2.3 消费者演进路线
  • 传统Consumer API的Rebalance问题
  • 新一代KafkaConsumer的协同消费模式
  • Streams API实现端到端Exactly-Once处理

三、企业级应用实战

3.1 金融行业实时风控

‌场景需求‌:支付系统每秒处理2万笔交易,要求200ms内完成风控决策

‌技术方案‌:

// 风控处理拓扑
builder.stream("payment-events").filter((k, v) -> v.getAmount() > 10000).join(fraudRulesTable, (payment, rule) -> checkRisk(payment, rule),Joined.with(Serdes.String(), paymentSerde, ruleSerde)).to("risk-alerts");

‌实施效果‌:

  • 99.99%的消息处理延迟<150ms
  • 通过事务消息保障风控结果精确落地
3.2 物联网数据管道

‌设备规模‌:10万智能电表每秒上报数据

‌架构设计‌:

# 分区策略优化
bin/kafka-topics.sh --create \
--partitions 100 \
--replication-factor 3 \
--topic iot-meter-data

性能调优‌:

  • 使用Protobuf序列化(比JSON节省40%空间)
  • 配置unclean.leader.election.enable=false
  • 设置log.flush.interval.messages=10000

四、生产环境优化指南

4.1 集群规划黄金法则
指标推荐值计算公式
磁盘容量72小时保留期消息量×平均大小×72×3
分区数量CPU核数×4Broker数×100
网络带宽吞吐量×2(生产量+消费量)×1.5
4.2 JVM参数模板
-Xmx32g 
-Xms32g 
-XX:MetaspaceSize=512m 
-XX:+UseG1GC 
-XX:MaxGCPauseMillis=50 
-XX:InitiatingHeapOccupancyPercent=35
4.3 监控指标体系

‌关键指标看板‌:

  1. Under Replicated Partitions > 0 持续5分钟告警
  2. Active Controller Count ≠ 1 立即通知
  3. NetworkProcessorAvgIdlePercent < 30% 扩容信号

五、技术演进与生态融合

5.1 云原生转型
  • KRaft模式取代ZooKeeper(3.0+特性)
  • 在K8s中实现自动弹性伸缩
  • 与AWS MSK、Confluent Cloud的深度集成
5.2 流处理新范式
// 使用ksqlDB实现实时分析
CREATE TABLE user_behavior AS
SELECT user_id, COUNT(*) 
FROM clickstream 
WINDOW TUMBLING (SIZE 1 MINUTE)
GROUP BY user_id;
5.3 生态全景图

在这里插入图片描述

六、最佳实践总结

  1. 分区设计‌:根据消费者数量动态调整,保持分区数是消费者的整数倍

  2. 安全加固‌:SASL/SCRAM认证配合SSL加密传输

  3. 灾备方案‌:使用MirrorMaker2实现跨机房同步

  4. 版本策略‌:生产环境保持与社区版本3个月时差

大数据相关文章(推荐)
  1. 架构搭建:
    中小型企业大数据平台全栈搭建:Hive+HDFS+YARN+Hue+ZooKeeper+MySQL+Sqoop+Azkaban 保姆级配置指南

  2. 大数据入门:大数据(1)大数据入门万字指南:从核心概念到实战案例解析

  3. Yarn资源调度文章参考:大数据(3)YARN资源调度全解:从核心原理到万亿级集群的实战调优

  4. Hive函数汇总:Hive函数大全:从核心内置函数到自定义UDF实战指南(附详细案例与总结)

  5. Hive函数高阶:累积求和和滑动求和:Hive(15)中使用sum() over()实现累积求和和滑动求和

  6. Hive面向主题性、集成性、非易失性:大数据(4)Hive数仓三大核心特性解剖:面向主题性、集成性、非易失性如何重塑企业数据价值?

  7. Hive核心操作:大数据(4.2)Hive核心操作实战指南:表创建、数据加载与分区/分桶设计深度解析

  8. Hive基础查询:大数据(4.3)Hive基础查询完全指南:从SELECT到复杂查询的10大核心技巧

  9. Hive多表JOIN:大数据(4.4)Hive多表JOIN终极指南:7大关联类型与性能优化实战解析

  10. Hive数据仓库分层架构实战:Hive数据仓库分层架构实战:4层黄金模型×6大业务场景×万亿级数据优化方案

  11. Hive执行引擎选型:大数据(4.6)Hive执行引擎选型终极指南:MapReduce/Tez/Spark性能实测×万亿级数据资源配置公式

  12. Hive查询优化:大数据(4.7)Hive查询优化四大黑科技:分区裁剪×谓词下推×列式存储×慢查询分析,性能提升600%实战手册

  13. Spark安装部署:大数据(5)Spark部署核弹级避坑指南:从高并发集群调优到源码级安全加固(附万亿级日志分析实战+智能运维巡检系统)

  14. Spark RDD编程:大数据(5.1)Spark RDD编程核弹级指南:从血泪踩坑到性能碾压(附万亿级数据处理优化策略+容错机制源码解析)

  15. Spark SQL:大数据(5.2)Spark SQL核弹级优化实战:从执行计划血案到万亿级秒级响应(附企业级Hive迁移方案+Catalyst源码级调优手册)

  16. Spark Streaming:大数据(5.3)Spark Streaming核弹级调优:从数据丢失血案到万亿级实时处理(附毫秒级延迟调优手册+容灾演练全流程)

相关文章:

大数据(7)Kafka核心原理揭秘:从入门到企业级实战应用

目录 一、大数据时代的技术革命1.1 消息中间件演进史1.2 Kafka核心设计哲学 二、架构深度解构2.1 核心组件拓扑2.1.1 副本同步机制&#xff08;ISR&#xff09; 2.2 生产者黑科技2.3 消费者演进路线 三、企业级应用实战3.1 金融行业实时风控3.2 物联网数据管道 四、生产环境优化…...

01背包 Java

① 记忆化搜索解法&#xff1a; import java.util.*; import java.io.*;public class Main {static int n, m;static int[] v, w;static int[][] memory; // 记忆化数组public static void main(String[] args) throws Exception {BufferedReader br new BufferedReader(new …...

【Kafka基础】消费者命令行完全指南:从基础到高级消费

Kafka消费者是消息系统的关键组成部分&#xff0c;掌握/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-console-consumer.sh工具的使用对于调试、测试和监控都至关重要。本文将全面介绍该工具的各种用法&#xff0c;帮助您高效地从Kafka消费消息。 1 基础消费模式 1.1 从最…...

Seq2Seq - 编码器(Encoder)和解码器(Decoder)

本节实现一个简单的 Seq2Seq&#xff08;Sequence to Sequence&#xff09;模型 的编码器&#xff08;Encoder&#xff09;和解码器&#xff08;Decoder&#xff09;部分。 重点把握Seq2Seq 模型的整体工作流程 理解编码器&#xff08;Encoder&#xff09;和解码器&#xff08…...

@SchedulerLock 防止分布式环境下定时任务并发执行

背景 在一个有多个服务实例的分布式系统中&#xff0c;如果你用 Scheduled 来定义定时任务&#xff0c;所有实例都会执行这个任务。ShedLock 的目标是只让一个实例在某一时刻执行这个定时任务。 使用步骤 引入依赖 当前以redisTemplate为例子&#xff0c;MongoDB、Zookeeper…...

【力扣hot100题】(077)跳跃游戏

我最开始的想法还是太单纯了&#xff0c;最开始想着用回溯法&#xff0c;然后想到上一题的经验又想到了动态规划&#xff0c;虽然知道贪心题不太可能会这么复杂但实在想不出别的办法……果然我的智商做贪心题的极限就只能达到找零问题那种水平…… 最开始的方法&#xff0c;击…...

多光谱相机:林业监测应用(病虫害、外来物种、森林防火识别)

随着气候变暖和人类活动的增加&#xff0c;森林火灾发生的频率和强度都有所上升&#xff0c;而我国森林防火基础设施薄弱&#xff0c;监测预警体系不够完善&#xff0c;扑救能力和应急响应能力有待提高。气候变化导致气温升高、降水分布不均等&#xff0c;影响了树木的生长和发…...

Dynamic Programming(LeetCode 740)

740. 删除并获得点数 相关企业提示给你一个整数数组 nums &#xff0c;你可以对它进行一些操作。 每次操作中&#xff0c;选择任意一个 nums[i] &#xff0c;删除它并获得 nums[i] 的点数。之后&#xff0c;你必须删除 所有 等于 nums[i] - 1 和 nums[i] 1 的元素。 开始你…...

虚拟列表react-virtualized使用(npm install react-virtualized)

1. 虚拟化列表 (List) // 1. 虚拟化列表 (List)import { List } from react-virtualized; import react-virtualized/styles.css; // 只导入一次样式// 示例数据 const list Array(1000).fill().map((_, index) > ({id: index,name: Item ${index},description: This is i…...

[特殊字符] 手机连接车机热点并使用 `iperf3` 测试网络性能

好的&#xff0c;以下是根据你的描述整理出来的步骤及解释&#xff1a; &#x1f4f6; 手机连接车机热点并使用 iperf3 测试网络性能 本文将通过 iperf3 来测试手机和车机之间的网络连接性能。我们会让车机作为服务端&#xff0c;手机作为客户端&#xff0c;进行 UDP 流量传输…...

C#,VB.NET正则表达式法替换代码

如何设置必须是MGBOX开头, msgbox这种注释自动跳过 在 Visual Studio 中使用 Ctrl H 进行替换操作时&#xff0c;若要确保仅替换以 MsgBox 开头的代码&#xff0c;同时跳过注释里的 MsgBox&#xff0c;可以利用正则表达式来实现。以下为你详细介绍操作步骤&#xff1a; 1. 打…...

从MySQL快速上手大数据Hive

从MySQL快速上手大数据Hive Hive简介 ​ hive是基于Hadoop构建的一套数据仓库分析系统&#xff0c;它提供了丰富的SQL查询方式&#xff08;DML&#xff09;来分析存储在Hadoop分布式文件系统中的数据: 可以将结构化的数据文件映射为一张数据库表&#xff0c;并提供完整的SQL查…...

基于华为云kubernetes的应用多活的示例

1 概述 为避免地域级别的故障&#xff0c;需要将单机房架构变成双地域架构&#xff08;两个机房物理距离越远&#xff0c;网络延时越大&#xff0c;网延时是业务研发首先关注的&#xff09;。单边写的多机房架构&#xff0c;是落地性比较大的一个方案&#xff0c;相对于单元化…...

Linux动态库 vs 静态库:创建步骤与优缺点对比

Linux系列 文章目录 Linux系列前言一、动静态库的概念引入1.1 库的基本概念1.2 静态库&#xff08;Static Library&#xff09;1.3 动态库&#xff08;Dynamic Library&#xff09;1.4 动静态库的核心区别 二、动静态库的实现2.1 静态库的创建及使用2.2 动态库的创建和使用三、…...

分析下HashMap容量和负载系数,它是怎么扩容的?

很好&#xff0c;我们继续深入分析 HashMap 中 容量&#xff08;capacity&#xff09; 和 负载因子&#xff08;load factor&#xff09;&#xff0c;以及它是如何进行 扩容&#xff08;resize&#xff09; 的。 &#x1f9f1; 一、容量&#xff08;capacity&#xff09;与负载…...

Linux权限管理:从入门到实践

目录 引言 ​编辑一、Linux用户类型 二、文件访问者分类 三、文件类型和访问权限 &#xff08;一&#xff09;文件类型 &#xff08;二&#xff09;基本权限 四、文件访问权限设置方法 &#xff08;一&#xff09;chmod命令 &#xff08;二&#xff09;chown命令 &…...

计算机网络(1)

名称解析 名称解析&#xff1a;将名称解析成对应地址&#xff0c;名字-->IP 名称解析优点&#xff1a;便以记忆、解耦&#xff08;断开直接的练习&#xff09; 容器 mini的虚拟机&#xff0c;该容器地址是动态的、生命周期短暂&#xff1b;可实现登录功能 如果用户想要登录该…...

第十一天 - MySQL/SQLite操作 - 数据库备份脚本 - 练习:监控数据存储系统

数据库实战入门&#xff1a;从零构建监控数据存储系统 前言 在物联网和系统监控领域&#xff0c;数据存储是核心基础环节。本文将通过MySQL/SQLite操作、数据库备份脚本和监控数据存储实战三个模块&#xff0c;带领初学者快速掌握数据库在真实场景中的应用。文章包含25个代码…...

编写文生视频提示词,制作抖音爆款视频

编写文生视频提示词&#xff0c;制作抖音爆款视频 一、理解文生视频提示词1.1 定义提示词1.1.1 提示词与创作工具的关系1.1.2 文生视频的功能 1.2 提示词的组成1.2.1 主体&#xff08;Subject&#xff09;1.2.2 动作&#xff08;Action&#xff09;1.2.3 场景&#xff08;Scene…...

Linux: 线程控制

目录 一 前言 二 线程控制 1. POSIX线程库(原生线程库) 2. 创建线程 2.1 pthread_create 2.2pthread_self()获取线程id 3.线程终止 3.1.return 方式 3.2 pthread_exit 4 线程等待 三 理解线程tid 一 前言 在上一篇文章中我们已经学习了线程的概念&#xff0c;线程的创…...

为什么 npm list -g 没显示 node_modules?✨

揭秘&#xff1a;为什么 npm list -g 没显示 node_modules&#xff1f;&#x1f575;️‍♂️✨ 嗨&#xff0c;各位代码探险家&#xff01;&#x1f44b; 今天我们要破解一个 npm 小谜团&#xff1a;运行 npm list -g --depth0 时&#xff0c;为什么输出的路径里看不到 node_…...

华为数字芯片机考2025合集4已校正

单选 1. 题目内容 影响芯片成本的主要因素是 Die Size 和封装&#xff0c;但电源、时钟等因素&#xff0c;特别是功耗对解决方案的成本影响较大&#xff0c;因此低成本设计需要兼顾低功耗设计&#xff1a;&#xff08;&#xff09; 1. 解题步骤 1.1 分析题目 Die Size&…...

达摩院Paraformer-ONNX模型:一站式高精度中文语音识别工业级解决方案

文章目录 核心技术创新三大部署方案对比1. Docker极简部署&#xff08;推荐&#xff09;2. Python API直连调用3. 客户端实时测试工具 高阶调优技巧典型应用场景高频问题解决方案参考 阿里达摩院推出的speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-on…...

Llama 4的争议

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…...

React七案例下

代码下载 登录模块 用户登录 页面结构 新建 Login 组件&#xff0c;对应结构: export default function Login() {return (<div className{styles.root}><NavHeader className{styles.header}>账号登录</NavHeader><form className{styles.form}>&…...

Rust包管理与错误处理

文章目录 包管理箱&#xff08;Crate&#xff09;包&#xff08;Package&#xff09;模块&#xff08;Module&#xff09;访问权限use关键字 错误处理不可恢复错误可恢复错误错误传递kind方法 包管理 Rust的包管理有三个重要的概念&#xff0c;分别是箱、包、模块 箱&#xf…...

关于gitee的readme文档中的图片问题

使用markdown编辑readme文档&#xff0c;需要注意 添加图片&#xff0c;但是不显示问题 1.记得连图片一起上传到仓库中&#xff0c;不能只是在本地markdown文件中复制就结束了&#xff0c;因为存储的是本地图片地址&#xff0c;上传后找不到的 2.注意使用网络地址&#xff0…...

记录vscode连接不上wsl子系统下ubuntu18.04问题解决方法

记录vscode连接不上wsl子系统下ubuntu18.04问题解决方法 报错内容尝试第一次解决方法尝试第二次解决方法注意事项参考连接 报错内容 Unable to download server on client side: Error: Request downloadRequest failed unexpectedly without providing any details… Will tr…...

aws平台练习

注册 AWS 账户 访问 AWS 官方网站&#xff0c;点击“免费注册”按钮&#xff0c;按照提示完成账户注册&#xff1a; 提供电子邮件地址、密码和电话号码。 验证身份&#xff08;可能需要手机验证码&#xff09;。 设置 billing 信息。 2. 登录 AWS 管理控制台 使用注册的邮箱和…...

实战篇-梳理时钟树

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据 总结 前言 这是B站傅里叶的猫视频的笔记 一、建立工程 以Vivado的wave_gen为例子。为了引入异…...

【Hadoop入门】Hadoop生态之Hive简介

1 什么是Hive&#xff1f; 1.1 Hive概述 在大数据时代&#xff0c;如何让传统的数据分析师和SQL开发人员也能轻松处理海量数据&#xff1f;Hive应运而生。Hive是基于Hadoop构建的一套数据仓库分析系统&#xff0c;它提供了一种类似SQL的查询语言&#xff08;HQL&#xff09;&a…...

DSP复习【3章】

F2812提供了XINTF用于扩展并行接口的外设芯片。 XINTF&#xff08;外部接口&#xff09;所需的时钟是 SYSCLKOUT 和 XTIMCLK。 所以正确答案是&#xff1a; ✅ SYSCLKOUT 和 XTIMCLK 什么是XREADY信号&#xff0c;如何使用&#xff1f; 章节例题&#xff1a; 1. 如何通过软件判…...

Hadoop案例——流量统计

Hadoop案例——流量统计 在大数据时代&#xff0c;流量统计是许多企业和组织的关键需求之一。通过分析网络流量数据&#xff0c;企业可以优化网络资源分配、提升用户体验、制定精准的营销策略等。本文将介绍如何使用 Hadoop 框架实现一个简单的流量统计案例&#xff0c;包括数…...

Linux管道 有名管道(FIFO)工作机制全解:从理论到实践

有名管道&#xff08;重要&#xff09; 有名管道/命名管道&#xff0c;主要用于没有血缘关系进程间的通信 当然也支持有血缘关系的情况&#xff0c;只是如果有血缘关系&#xff0c;没有必要使用有名管道&#xff0c;无名管道效果更佳 引入 好了&#xff0c;现在使用条件有了…...

java基础-修饰符

java修饰符 修饰符分类访问修饰符的作用域代码说明访问修饰符总览 非访问修饰符staticfinalabstractsynchronizedvolatiletransientnativestrictfp非访问修饰符总览表 非访问修饰符组合与冲突规则 修饰符分类 分类&#xff1a;访问修饰符 和 非访问修饰符 1.访问修饰符 公共…...

解锁基因密码之重测序(从测序到分析)

在生命科学的奇妙世界中&#xff0c;基因恰似一本记录着生命奥秘的“天书”&#xff0c;它承载着生物体生长、发育、衰老乃至疾病等一切生命现象的关键信息。而重测序技术&#xff0c;则是开启基因“天书”奥秘的一把神奇钥匙。 试想&#xff0c;你手中有一本经典书籍的通用版…...

当使用 Docker Desktop 启动 Tomcat 镜像时时间不对

当使用 Docker Desktop 启动 Tomcat 镜像时时间不对&#xff0c;可能由以下原因导致并可采取相应解决方法&#xff1a; 宿主机时间设置问题&#xff1a;Docker 容器的时间是由宿主机提供的&#xff0c;如果宿主机的时间不正确&#xff0c;那么容器的时间也会不正确。需确保宿主…...

golang gmp模型分析

思维导图&#xff1a; 1. 发展过程 思维导图&#xff1a; 在单机时代是没有多线程、多进程、协程这些概念的。早期的操作系统都是顺序执行 单进程的缺点有&#xff1a; 单一执行流程、计算机只能一个任务一个任务进行处理进程阻塞所带来的CPU时间的浪费 处于对CPU资源的利用&…...

Redisson的RedLock与联锁(MultiLock)的区别

Redisson提供了两种分布式锁机制&#xff1a;RedLock(红锁)和MultiLock(联锁)&#xff0c;它们在实现分布式锁时有重要区别。 1. RedLock (红锁) 设计原理&#xff1a; 基于Redis官方提出的Redlock算法实现目的是在Redis集群环境下提供更可靠的分布式锁需要至少3个独立的Redi…...

图灵逆向——题十-魔改算法

目录列表 过程分析JS代码还原代码实现运行结果 本题属于魔改标准加密算法&#xff0c;所以无法使用JS或Python中的标准库来进行模拟加密了&#xff0c;只能一步一步的还原它的环境咯。。。 过程分析 打开控制台发现有个无限debugger&#xff0c;直接过掉~[doge]。。。 OK过掉…...

K8S学习之基础七十九:关闭istio功能

关闭istio功能 kubectl get ns --show-labels kubectl label ns default istio-injection-有istio-injectionenabled的命名空间&#xff0c;pod都会开启istio功能 反之&#xff0c;如果要开启istio&#xff0c;在对应命名空间打上该标签即可...

AI大模型课程系列汇总-某客时间篇

某客时间系列篇章&#x1f4a5; NO.文章&#xff08;点击可跳转&#xff09;1【课程系列11】某客时间AI 大模型应用开发实战营_ai大模型应用开发实战营 百度云-CSDN博客2【课程系列12】某客时间AI大模型微调训练营_极客时间 大模型rag 网盘-CSDN博客3【课程系列15】2024某客时…...

【人工智能】大语言模型多义词解析技术揭秘——以“项目“歧义消解为例

今天田辛老师和小伙伴探讨了一个有趣的多义词问题&#xff0c; 在人工智能技术日新月异的今天&#xff0c;大语言模型&#xff08;LLM&#xff09;对自然语言的理解能力已经达到令人惊叹的水平。大模型到底是如何去区分多义词的&#xff1f; 比如&#xff1a;当用户提到"…...

Coze平台 发布AI测试Agent的完整实现方案

以下是基于 Coze平台 发布AI测试Agent的完整实现方案,包含架构设计、核心功能模块、集成方式和落地步骤: 一、方案架构图 #mermaid-svg-kzS7cltxrbetjROl {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-kzS7cltxr…...

OpenHarmony子系统开发 - 调测工具(二)

OpenHarmony子系统开发 - 调测工具&#xff08;二&#xff09; 三、hiperf使用指导 hiperf是为开发人员提供性能采样分析的工具&#xff0c;基于内核perf机制进行的用户态能力的扩展&#xff0c;可以对指定的程序或者整个系统进行性能采样。 hiperf支持的命令有&#xff1a;l…...

keil ERROR: L6220E 如何解决

最近调试MK8000方案&#xff0c;增加code后遇到&#xff1a; keil ERROR: L6220E: Execution region RW_RAM1 size (24592 bytes) execeeds limit (24568 bytes) .region contains 93 bytes of padding and 0 bytes of veneers (total 93 bytes of linker generated content) …...

c++比较器——priority_queue用 ; unordered_map 自定义哈希函数

文章目录 priority_queue自定义比较方法对 比较对象结构体 重载 <仿函数为什么是传一个类std::less<T> 和 std::greater<T> lambda unordered_map自定义哈希函数仿函数lambda priority_queue template<class T,class Container std::vector<T>,class…...

centos-LLM-生物信息-BioGPT安装

参考&#xff1a; GitHub - microsoft/BioGPT https://github.com/microsoft/BioGPT BioGPT&#xff1a;用于生物医学文本生成和挖掘的生成式预训练转换器 |生物信息学简报 |牛津学术 — BioGPT: generative pre-trained transformer for biomedical text generation and mini…...

esp32cam远程图传:AI Thinker ESP32-CAM -》 服务器公网 | 服务器 -》 电脑显示

用AI Thinker ESP32-CAM板子访问公网ip的5112端口并上传你的摄像头拍摄的图像视频数据&#xff0c;并写一段python程序打开弹窗接受图像实现超远程图像传输教程免费 1. 首先你要有一个公网ip也就是去买一台拥有公网的服务器电脑&#xff0c;我买的是腾讯云1年38元的服务器还可…...

今日踩坑之@Autowired与@Resource区别

案例说明 今天算是体验到了这俩注解的区别了&#xff0c;真所谓不报错就记不住这两注解区别&#xff0c;其实之前本人也是知道这俩注解的区别的只是我们往往项目上用习惯了Autowired就忘了&#xff0c;看来只有真正体会到报错才能记忆犹新o(╥﹏╥)o。 说明一下本人的踩坑情况&…...