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

大数据(2)Hadoop架构深度拆解:HDFS与MapReduce企业级实战与高阶调优

目录

      • 一、分布式系统的设计哲学演进
        • 1.1 从Google三驾马车到现代数据湖
      • 二、企业级HDFS架构全景图
        • 2.1 联邦架构的深度实践
        • 2.2 生产环境容灾设计
        • 2.3 性能压测方法论
      • 三、MapReduce引擎内核解密
        • 3.1 Shuffle机制全链路优化
        • 3.2 资源调度革命:从MRv1到YARN
        • 3.3 企业级编码规范
      • 四、千亿级数据分析实战:运营商信令数据挖掘
        • 4.1 场景描述
        • 4.2 优化后的MR作业链
        • 4.3 性能对比数据
      • 五、云原生时代的Hadoop进化
        • 5.1 存算分离架构实践
        • 5.2 Kubernetes原生支持
        • 5.3 智能运维体系
      • 六、从Hadoop到数据智能:架构师成长路径
        • 6.1 核心技术图谱
        • 6.2 性能调优黄金法则
        • 6.3 前沿技术风向
        • 大数据相关文章(推荐)

一、分布式系统的设计哲学演进

1.1 从Google三驾马车到现代数据湖
  • 划时代架构启示录‌:深入解读GFS论文中提出的"机架感知副本策略",如何通过跨机架存储实现99.95%的可用性(Google 2003年内部测试数据)
  • CAP理论工程实践‌:HDFS在写入流水线设计中如何平衡强一致性(所有副本写入成功)与高可用性(快速失败切换)
  • 数据湖新范式‌:对比Delta Lake、Iceberg等新型架构,解析HDFS在元数据管理(平均处理延迟<10ms)和数据版本控制(快照创建速度达到PB/分钟级)的核心优势

二、企业级HDFS架构全景图

2.1 联邦架构的深度实践

在这里插入图片描述
不同应用可以使用不同NameNode进行数据管理,比如日志分析业务、图片业务、爬虫业务等,不同的业务模块使用不同的NameNode进行管
理NameSpace。(隔离性)
在这里插入图片描述

2.2 生产环境容灾设计
<!-- 高可用配置模板 -->
<property><name>dfs.ha.automatic-failover.enabled</name><value>true</value>
</property>
<property><name>dfs.client.failover.proxy.provider</name><value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
2.3 性能压测方法论
# 使用Teragen生成1TB测试数据
hadoop jar hadoop-mapreduce-examples.jar teragen \
-Dmapred.map.tasks=100 \
10000000000 /benchmark/tera-in# 分布式拷贝压测
hadoop distcp -m 200 -bandwidth 100 \
hdfs://clusterA/benchmark \
hdfs://clusterB/benchmark

三、MapReduce引擎内核解密

3.1 Shuffle机制全链路优化

在这里插入图片描述

  • 环形缓冲区‌(默认100MB):采用Spill Thread异步溢写
  • Combiner预聚合‌:减少跨节点数据传输量(需满足幂等性)
  • 自定义Partitioner‌:解决数据倾斜(电商行业典型场景:热卖商品Hash重分布)
3.2 资源调度革命:从MRv1到YARN
  • JobTracker单点瓶颈‌:4000节点集群的调度延迟突破秒级
  • YARN三层架构‌:
    • ResourceManager(全局资源仲裁)
    • ApplicationMaster(作业生命周期管理)
    • NodeManager(容器化资源隔离)
3.3 企业级编码规范
// 高级Mapper实现:处理PB级JSON日志
public class JsonMapper extends Mapper<LongWritable, Text, Text, LongWritable> {private ObjectMapper jsonMapper = new ObjectMapper();@Overrideprotected void setup(Context context) {jsonMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);}@Overridepublic void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {try {LogEntry entry = jsonMapper.readValue(value.toString(), LogEntry.class);context.write(new Text(entry.getEventType()), new LongWritable(entry.getDuration()));} catch (JsonProcessingException e) {context.getCounter("Data Quality", "Invalid Records").increment(1);}}
}

四、千亿级数据分析实战:运营商信令数据挖掘

4.1 场景描述
  • 数据规模‌:10万基站/天,20TB原始信令数据
  • 业务目标‌
    • 用户移动轨迹建模(连续基站切换分析)
    • 网络拥塞热点识别(TA列表流量聚合)
    • 异常行为检测(漫游模式离群值分析)
4.2 优化后的MR作业链
Valid
Invalid
原始信令数据
Parser Job
数据校验
轨迹生成Job
死信队列
网格聚合Job
可视化层
4.3 性能对比数据
优化策略原始耗时优化后耗时资源节省
启用LZO压缩6h23m4h15m38%
动态分区调整4h15m3h02m28%
Speculative Execution3h02m2h41m12%

五、云原生时代的Hadoop进化

5.1 存算分离架构实践
  • HDFS与S3集成‌:元数据与数据分离存储(EMR 6.8实测性能提升40%)
  • 弹性计算层‌:Spot Instance自动伸缩策略(AWS案例:成本降低67%)
5.2 Kubernetes原生支持
# Hadoop on K8s部署模板
apiVersion: apps/v1
kind: StatefulSet
metadata:name: hdfs-datanode
spec:serviceName: "hdfs-dn"replicas: 100template:spec:containers:- name: datanodeimage: apache/hadoop:3.4.0env:- name: DFS_DATANODE_DATA_DIRvalue: "/hadoop/dfs/data"volumeMounts:- mountPath: /hadoop/dfs/dataname: dn-datavolumes:- name: dn-datapersistentVolumeClaim:claimName: hdfs-data-pvc
5.3 智能运维体系
  • Prometheus监控体系‌
    • HDFS Capacity Forecasting(基于Prophet算法)
    • MapReduce Slot预判模型
  • 根因分析自动化‌:基于日志的异常检测(ELK+ML)

六、从Hadoop到数据智能:架构师成长路径

6.1 核心技术图谱
HDFS
数据治理
存储优化
MapReduce
计算范式
资源管理
Spark/Flink
K8s调度
云原生数据平台
6.2 性能调优黄金法则
  1. 存储层‌:纠删码策略选择(RS-10-4 vs RS-6-3)
  2. 计算层‌:Shuffle过程内存分配公式:
Map Task内存 = 1.5 * (sort缓冲区 + 元数据空间)
Reduce Task内存 = 2.0 * (合并因子 * 输入文件大小)
  1. 网络层‌:机架拓扑敏感调度(跨交换机带宽成本计算)
6.3 前沿技术风向
  • 向量化查询‌:Hadoop ORC与Arrow内存格式融合
  • 异构计算‌:GPU加速ETL流程(NVIDIA Magnum IO集成)
  • 隐私计算‌:基于Hadoop的联邦学习框架(PETs技术实现)
大数据相关文章(推荐)
  1. 大数据入门:大数据(1)大数据入门万字指南:从核心概念到实战案例解析

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

  3. 架构搭建:
    中小型企业大数据平台全栈搭建:Hive+HDFS+YARN+Hue+ZooKeeper+MySQL+Sqoop+Azkaban 保姆级配置指南

相关文章:

大数据(2)Hadoop架构深度拆解:HDFS与MapReduce企业级实战与高阶调优

目录 一、分布式系统的设计哲学演进1.1 从Google三驾马车到现代数据湖 二、企业级HDFS架构全景图2.1 联邦架构的深度实践2.2 生产环境容灾设计2.3 性能压测方法论 三、MapReduce引擎内核解密3.1 Shuffle机制全链路优化3.2 资源调度革命&#xff1a;从MRv1到YARN3.3 企业级编码规…...

【数学建模】动态规划算法(Dynamic Programming,简称DP)详解与应用

动态规划算法详解与应用 文章目录 动态规划算法详解与应用引言动态规划的基本概念动态规划的设计步骤经典动态规划问题1. 斐波那契数列2. 背包问题3. 最长公共子序列(LCS) 动态规划的优化技巧动态规划的应用领域总结 引言 动态规划(Dynamic Programming&#xff0c;简称DP)是一…...

UE学习记录part11

第14节 breakable actors 147 destructible meshes a geometry collection is basically a set of static meshes that we get after we fracture a mesh. 几何体集合基本上是我们在断开网格后获得的一组静态网格。 选中要破碎的网格物品&#xff0c;创建集合 可以选择不同的…...

LeetCode知识点整理

1、Scanner 输入&#xff1a; import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);// 读取整数int num scanner.nextInt();// 读取一行字符串String line scanner.nextLine();scanner.close();…...

浅析车规芯片软错误防护加固的重要性

随着汽车电子技术的飞速发展&#xff0c;汽车已经从传统的机械交通工具转变为高度依赖电子系统的智能移动终端。车规芯片作为汽车电子系统的核心部件&#xff0c;其可靠性和安全性直接关系到车辆的正常运行和驾乘人员的安全。然而&#xff0c;车规芯片在复杂的运行环境中面临着…...

Android Jetpack学习总结(源码级理解)

ViewModel 和 LiveData 是 Android Jetpack 组件库中的两个核心组件&#xff0c;它们能帮助开发者更有效地管理 UI 相关的数据&#xff0c;并且能够在配置变更&#xff08;如屏幕旋转&#xff09;时保存和恢复 UI 数据。 ViewModel作用 瞬态数据丢失的恢复&#xff0c;比如横竖…...

Matlab_Simulink中导入CSV数据与仿真实现方法

前言 在Simulink仿真中&#xff0c;常需将外部数据&#xff08;如CSV文件或MATLAB工作空间变量&#xff09;作为输入信号驱动模型。本文介绍如何高效导入CSV数据至MATLAB工作空间&#xff0c;并通过From Workspace模块实现数据到Simulink的精确传输&#xff0c;适用于运动控制…...

Go 语言规范学习(6)

文章目录 StatementsTerminating statementsEmpty statementsLabeled statementsExpression statementsSend statementsIncDec statementsAssignment statementsIf statementsSwitch statementsExpression switchesType switches For statementsFor statements with single con…...

设计模式——设计模式理念

文章目录 参考&#xff1a;[设计模式——设计模式理念](https://mp.weixin.qq.com/s/IEduZFF6SaeAthWFFV6zKQ)参考&#xff1a;[设计模式——工厂方法模式](https://mp.weixin.qq.com/s/7tKIPtjvDxDJm4uFnqGsgQ)参考&#xff1a;[设计模式——抽象工厂模式](https://mp.weixin.…...

解析 ID 数组传参的解决方案:基于 Axios 的实现

解析 ID 数组传参的解决方案&#xff1a;基于 Axios 的实现 在实际开发中&#xff0c;经常需要将一个 ID 数组作为参数传递给后端接口。然而&#xff0c;不同的后端框架和前端库对数组参数的处理方式可能有所不同。通过一个具体的例子&#xff0c;在前端使用 Axios 框架发送 I…...

C语言快速入门-C语言基础知识

这个c语言入门&#xff0c;目标人群是有代码基础的&#xff0c;例如你之前学过javaSE&#xff0c;看此文章可能是更有帮助&#xff0c;会让你快速掌握他们之间的差异&#xff0c;文章内容大部分都是泛谈&#xff0c;详细的部分我会在之后时间发布&#xff0c;我也在慢慢学习&am…...

Ubuntu 22.04 上安装 VS Code

在 Ubuntu 22.04 上安装 VS Code 的方法如下&#xff1a; 方法 1&#xff1a;通过 APT 包管理器安装 更新系统包索引&#xff1a; 打开终端并执行以下命令&#xff1a; sudo apt update安装依赖项&#xff1a; 执行以下命令以安装所需的依赖项&#xff1a; sudo apt install s…...

AI人工智能-PyCharm的介绍安装应用

下载与安装 创建python项目 项目路径&#xff1a;C:\Users\miloq\Desktop\python_project 配置环境 提前找到conda配置的python-base路径 配置conda环境 运行项目 运行结果...

Todesk介绍

文章目录 ToDesk 软件介绍1. 软件概述2. ToDesk 的功能特点2.1 简单易用2.2 高质量的图像与流畅的操作2.3 跨平台支持2.4 多屏显示与协作2.5 文件传输功能2.6 实时聊天与语音通话2.7 远程唤醒与自动启动2.8 多种权限设置与安全性2.9 无需公网 IP 3. ToDesk 的应用场景3.1 个人使…...

【JavaEE】springMVC返回Http响应

目录 一、返回页面二、Controller和ResponseBody与RestController区别三、返回HTML代码⽚段四、返回JSON五、HttpServletResponse设置状态码六、设置Header6.1 HttpServletResponse设置6.2 RequestMapping设置 一、返回页面 步骤如下&#xff1a; 我们先要在static目录下创建…...

青少年编程与数学 02-011 MySQL数据库应用 02课题、MySQL数据库安装

青少年编程与数学 02-011 MySQL数据库应用 02课题、MySQL数据库安装 一、安装Windows系统Linux系统&#xff08;以Ubuntu 20.04为例&#xff09;macOS系统 二、配置&#xff08;一&#xff09;Windows系统1. 创建配置文件2. 初始化数据库3. 启动MySQL服务4. 登录MySQL5. 修改ro…...

springboot441-基于SpringBoot的校园自助交易系统(源码+数据库+纯前后端分离+部署讲解等)

&#x1f495;&#x1f495;作者&#xff1a; 爱笑学姐 &#x1f495;&#x1f495;个人简介&#xff1a;十年Java&#xff0c;Python美女程序员一枚&#xff0c;精通计算机专业前后端各类框架。 &#x1f495;&#x1f495;各类成品Java毕设 。javaweb&#xff0c;ssm&#xf…...

【安全运营】关于攻击面管理相关概念的梳理(一)

目录 一、ASM 介绍ASM 是“Attack Surface Management”&#xff08;攻击面管理&#xff09;的缩写【框架视角&#xff0c;广义概念】1. 介绍2. 兴起的原因3. 工作流程3.1 资产发现3.2 分类和优先级排序3.3 修复3.4 监控 二、EASM 介绍EASM 是 "External Attack Surface M…...

IPv6 网络访问异常 | 时好时坏 / 部分访问正常

注&#xff1a;本文为 “ IPv6 间接性连接异常” 相关文章合辑。 略作重排&#xff0c;未去重。 如有内容异常&#xff0c;请看原文。 IPv6 间接性连接异常&#xff1f;尝试调整路由器的 MTU 设置 Nero978 2024-1-29 17:54 背景 2024 年 1 月 29 日&#xff0c;因寒假返家…...

Unity编辑器功能及拓展(1) —特殊的Editor文件夹

Unity中的Editor文件夹是一个具有特殊用途的目录&#xff0c;主要用于存放与编辑器扩展功能相关的脚本和资源。 一.纠缠不清的UnityEditor 我们Unity中进行游戏构建时&#xff0c;我们经常遇到关于UnityEditor相关命名空间丢失的报错&#xff0c;这时候&#xff0c;只得将报错…...

LLMs之PE:《Tracing the thoughts of a large language model》翻译与解读

LLMs之PE&#xff1a;《Tracing the thoughts of a large language model》翻译与解读 导读&#xff1a;这篇论文的核心贡献在于提出了一种新颖的、基于提示工程的LLMs推理过程追踪技术——“Tracing Thoughts”。该技术通过精心设计的提示&#xff0c;引导LLMs生成其推理过程的…...

[Python] 贪心算法简单版

贪心算法-简单版 贪心算法的一般使用场景是给定一个列表ls, 让你在使用最少的数据的情况下达到或超过n. 我们就来使用上面讲到的这个朴素的例题来讲讲贪心算法的基本模板: 2-1.排序 既然要用最少的数据, 我们就要优先用大的数据拼, 为了实现这个效果, 我们得先给列表从大到小…...

游戏引擎学习第191天

回顾并制定今天的计划 最近几天&#xff0c;我们有一些偏离了原计划的方向&#xff0c;主要是开始了一些调试代码的工作。最初我们计划进行一些调试功能的添加&#xff0c;但是随着工作的深入&#xff0c;我们开始清理和整理调试界面的呈现方式&#xff0c;以便能够做一些更复…...

Git撤回操作全场景指南:未推送与已推送,保留和不保留修改的差异处理

一、未推送到远程仓库的提交&#xff08;仅本地存在&#xff09; 特点&#xff1a;可直接修改本地提交历史&#xff0c;不会影响他人 1. 保留修改重新提交 git reset --soft HEAD~1 # 操作效果&#xff1a; # - 撤销最后一次提交 # - 保留工作区所有修改 # - 暂存区内容保持…...

Java 贪吃蛇游戏

这段 Java 代码实现了一个经典的贪吃蛇游戏。玩家可以使用键盘的上下左右箭头键控制蛇的移动方向&#xff0c;蛇会在游戏面板中移动并尝试吃掉随机生成的食物。每吃掉一个食物&#xff0c;蛇的身体会变长&#xff0c;玩家的得分也会增加。如果蛇撞到自己的身体或者撞到游戏面板…...

QT图片轮播器(QT实操学习2)

1.项目架构 1.UI界面 2.widget.h​ #ifndef WIDGET_H #define WIDGET_H#include <QWidget>#define TIMEOUT 1 * 1000 QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent n…...

mac m1/m2/m3 pyaudio的安装

google了很多方法&#xff0c;也尝试了 issue68的方法&#xff0c; 但是均失败了&#xff0c;但是问deepseek竟然成功了&#xff0c;下面是deepseek r1给出的方法。在M3 pro芯片上可以成功运行. 安装homebrew /bin/bash -c "$(curl -fsSL https://raw.githubusercontent…...

Appium中元素定位的注意点

应用场景 了解这些注意点可以以后在出错误的时候&#xff0c;更快速的定位问题原因。 示例 使用 find_element_by_xx 或 find_elements_by_xx 的方法&#xff0c;分别传入一个没有的“特征“会是什么结果呢? 核心代码 driver.find_element_by_id("xxx") drive…...

《深入探索 Python 数据分析:用 Pandas 高效处理与可视化大型数据集》

《深入探索 Python 数据分析:用 Pandas 高效处理与可视化大型数据集》 引言:从零到分析高手 数据是当代社会最宝贵的资源,而数据分析技能是现代职业人不可或缺的一部分。在数据科学的领域中,Python 已成为当之无愧的“首选语言”,其强大的生态系统和简洁的语法让人如虎添…...

[GWCTF 2019]我有一个数据库1 [CVE phpMyAdmin漏洞]

扫出来一些东西 访问/phpmyadmin 发现界面 这里用到了CVE-2018-12613&#xff0c;光速学习 出现漏洞的代码是&#xff1a; $target_blacklist array (import.php, export.php );// If we have a valid target, lets load that script instead if (! empty($_REQUEST[targe…...

spring 常用注解区别及使用场景

1. 组件注册注解 Bean 作用&#xff1a;用于方法上&#xff0c;表示该方法返回的对象由Spring容器管理。通常用于配置类&#xff08;Configuration&#xff09;中&#xff0c;注册第三方库或自定义的Bean。 使用场合&#xff1a; 当你需要将非Spring管理的类&#xff08;如第…...

【后端】【Django】信号使用详解

Django post_save 信号使用详解&#xff08;循序渐进&#xff09; 一、信号的基本概念 Django 的 信号&#xff08;Signal&#xff09; 允许不同部分的代码在发生某些事件时进行通信&#xff0c;而不需要直接调用。这种机制可以解耦代码&#xff0c;让不同的模块独立工作。 …...

ML算法数学概念

交叉熵损失&#xff08;Cross-Entropy Loss&#xff09; 是机器学习和深度学习中常用的一种损失函数&#xff0c;主要用于衡量两个概率分布之间的差异。它在分类问题中&#xff08;尤其是多分类问题&#xff09;被广泛使用&#xff0c;因为它能够有效地评估模型预测的概率分布与…...

wps 怎么显示隐藏文字

wps 怎么显示隐藏文字 》文件》选项》视图》勾选“隐藏文字” wps怎么设置隐藏文字 wps怎么设置隐藏文字...

Vue3 其它API Teleport 传送门

Vue3 其它API Teleport 传送门 在定义一个模态框时&#xff0c;父组件的filter属性会影响子组件的position属性&#xff0c;导致模态框定位错误使用Teleport解决这个问题把模态框代码传送到body标签下...

亚马逊玩具品类技术驱动型选品策略:从趋势洞察到合规基建

一、全球玩具电商技术演进趋势 &#xff08;技术化重构原市场背景&#xff09; 数据可视化分析&#xff1a;通过亚马逊SP-API抓取2023年玩具品类GMV分布热力图 监管技术升级&#xff1a; 美国CPSC启用AI质检系统&#xff08;缺陷识别准确率92.7%&#xff09; 欧盟EPR合规接口…...

SpringBoot3+EasyExcel通过WriteHandler动态实现表头重命名

方案简介 为了通过 EasyExcel 实现动态表头重命名&#xff0c;可以封装一个方法&#xff0c;传入动态的新表头名称列表&#xff08;List<String>&#xff09;&#xff0c;并结合 WriteHandler 接口来重命名表头。同时&#xff0c;通过 EasyExcel 将数据直接写入到输出流…...

PHY——LAN8720A 寄存器读写 (二)

文章目录 PHY——LAN8720A 寄存器读写 (二)工程配置引脚初始化代码以太网初始化代码PHY 接口实现LAN8720 接口实现PHY 接口测试 PHY——LAN8720A 寄存器读写 (二) 工程配置 这里以野火电子的 F429 开发板为例&#xff0c;配置以太网外设 这里有一点需要注意原理图 RMII_TXD0…...

HTML5和CSS3的一些特性

HTML5 和 CSS3 是现代网页设计的基础技术&#xff0c;它们引入了许多新特性和功能&#xff0c;极大地丰富了网页的表现力和交互能力。 HTML5 的一些重要特性包括&#xff1a; 新的语义化标签: HTML5 引入了一些重要的语义化标签如 <header>, <footer>, <articl…...

sass报错,忽略 Sass 弃用警告,降级版本

最有效的方法是创建一个 .sassrc.json 文件来配置 Sass 编译器。告诉 Sass 编译器忽略来自依赖项的警告消息。 解决方案&#xff1a; 1. 在项目根目录创建 .sassrc.json 文件&#xff1a; {"quietDeps": true }这个配置会让 Sass 编译器忽略所有来自依赖项&#x…...

DeepSeek+Kimi:PPT制作的效率革命

摘要&#xff1a;传统PPT制作面临模板选择困难、内容逻辑混乱、设计排版能力有限以及反复修改等问题。DeepSeek和Kimi两款AI工具的组合为PPT制作提供了全新的解决方案。DeepSeek擅长内容生成与逻辑推理&#xff0c;能够快速生成高质量的PPT大纲和内容&#xff1b;Kimi则专注于长…...

transformers中学习率warmup策略具体如何设置

在使用 get_linear_schedule_with_warmup&#xff08;如 Hugging Face Transformers 库中的学习率调度器&#xff09;时&#xff0c;参数的合理设置需要结合 数据量&#xff08;dataset size&#xff09;、批次大小&#xff08;batch size&#xff09; 和 训练轮数&#xff08;…...

linux实现rsync+sersync实时数据备份

1.概述 rsync(Remote Sync) 是一个Unix/linux系统下的文件同步和传输工具 2.端口和运行模式 tcp/873 采用C/S模式&#xff08;客户端/服务器模式&#xff09; 3.特点 可以镜像保存整个目录和文件第一次全量备份(备份全部的文件),之后是增量备份(只备份变化的文件) 4. 数…...

CTF类题目复现总结-[MRCTF2020]ezmisc 1

一、题目地址 https://buuoj.cn/challenges#[MRCTF2020]ezmisc二、复现步骤 1、下载附件&#xff0c;得到一张图片&#xff1b; 2、利用010 Editor打开图片&#xff0c;提示CRC值校验错误&#xff0c;flag.png应该是宽和高被修改了&#xff0c;导致flag被隐藏掉&#xff1b;…...

『Linux』 第十一章 线程同步与互斥

1. 线程互斥 1.1 进程线程间的互斥相关背景概念 临界资源&#xff1a;多线程执行流共享的资源就叫做临界资源临界区&#xff1a;每个线程内部&#xff0c;访问临界资源的代码&#xff0c;就叫做临界区互斥&#xff1a;任何时刻&#xff0c;互斥保证有且只有一个执行流进入临界…...

【数据结构】队列

目录 一、队列1、概念与结构2、队列的实现3、队列的初始化4、打印队列数据5、入队6、销毁队列7、队列判空8、出队9、取队头、队尾数据10、队列中有效元素个数 二、源码 个人主页&#xff0c;点击这里~ 数据结构专栏&#xff0c;点击这里~ 一、队列 1、概念与结构 概念&#x…...

【导航定位】GNSS数据协议-RINEX OBS

RINEX协议 RINEX(Receiver INdependent EXchange format,与接收机无关的交换格式)是一种在GPS测量应用中普遍采用的标准数据格式,该格式采用文本文件形式&#xff08;ASCII码&#xff09;存储数据数据记录格式与接收机的制造厂商和具体型号无关。目前RINEX版本已经发布到了4.x…...

Qt中的事件循环

Qt的事件循环是其核心机制之一&#xff0c;它是一种消息处理机制&#xff0c;负责处理各种事件(如用户输入、定时器、网络请求等)的分发和处理。Qt中的事件循环是一个持续运行的循环&#xff0c;负责接收事件并将它们分发给相应的对象进行处理。当没有事件需要处理时&#xff0…...

Android并发编程:线程池与协程的核心区别与最佳实践指南

1. 基本概念对比 特性 线程池 (ThreadPool) 协程 (Coroutine) 本质 Java线程管理机制 Kotlin轻量级并发框架 最小执行单元 线程(Thread) 协程(Coroutine) 创建开销 较高(需分配系统线程资源) 极低(用户态调度) 并发模型 基于线程的抢占式调度 基于协程的协作式调度 2. 核心差异…...

吴恩达深度学习复盘(2)神经网络的基本原理轮廓

笔者注 这两节课主要介绍了神经网络的大的轮廓。而神经网络基本上是在模拟人类大脑的工作模式&#xff0c;有些仿生学的意味。为了便于理解&#xff0c;搜集了一些脑神经的资料&#xff0c;这部分是课程中没有讲到的。 首先要了解一下大脑神经元之间结构。 细胞体&#xff1…...