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

C#核心知识

委托

如何声明一个委托:通过 【delegate 返回值类型 委托名称】 的格式来定义

如何使用一个委托:使用new关键字,并传入和声明委托的构造相同的方法名,比如:new 委托名称(与委托的参数和返回值相同的一个方法名)

如何调用一个委托:将new关键字返回的实例调用Invoke方法,或者像调用一个方法一样调用它,就像方法一个调用都可以

什么是多播委托:顾名思义,多播委托可以注册多个实现了委托的方法。

如何使用多播委托:通过+=,-=注册,取消注册委托

预定义委托:通过Action,Func来实现,他们的区别在于Action没有返回值,Func有返回值,返回值在最后一个泛型里。

匿名函数经常和委托一起使用,语法:()=>{}

事件

事件是在委托的基础上做的一个安全的处理,避免直接调用委托,而是通过+=,-=这种方式去注册,取消注册委托。并且在内部实现了线程安全的操作。

如果要研究源码可以在SharpLab中看到用原始方法是如何实现了高级语法的。

多线程

什么是线程?

一个进程有多个线程,线程是操作系统中独立运行的最小单位。

为什么要用多线程?

希望能同时运行多个任务,提高效率。

什么是线程池?

是一组预先创建的线程,可以被重复利用来执行任务。

什么是线程安全?

多个线程同时访问共享资源时,对它的访问不会产生数据不一致的后果。

同步机制:用于协调多个线程访问的执行顺序去访问共享资源,避免数据不一致的问题。通过lock(obj){}的方式实现同步。

lock语法糖实际是对Monitor的一个封装。

原子操作:在执行任务时要么全部执行,要么全部不执行,确保了数据的一致性。 通过Interlocked类实现原子操作

并行操作:使用并行操作(PLinq)可以大幅提高效率,使用AsParallel方法可以确保并行操作的执行。

如果前台线程消亡,后台线程也要跟着消亡,Main函数就是一个前台线程。

如何创建一个线程?

new Thread(方法名称).Start(方法的参数)

{

IsBackground = ,

....... // 配置

}

Join方法可以让当前线程先执行完毕,确保后面的线程不会在它之前执行。

Interrupt可以中断线程的执行

信号量(Semaphore):可以理解为高速公路的闸口和车道数,第一个参数控制开启的闸口数,第二个参数控制车道数。

异步编程

异步不意味着多线程,单线程也可以是异步的。异步默认是使用线程池的,可以从线程ID中观察的到,每次的ID都不一样。

多线程适合CPU密集型的操作,适合长期运行的任务

异步适合IO密集型的操作,适合短暂的小任务,例如:服务器的后端接口;异步可以查看到线程执行的状态。

异步任务的创建:

1、Task.Run()

2、Task.Factory.StartNew()

3、new Task().Start();

特性:

1、将方法标记为async后,方可在方法中使用await,还有一种同步的写法但不推荐:InvokeTask().GetAwaiter().GetResult();

2、async+await会将方法包装为状态机

3、异步编程具有传染性

async void这种写法几乎只用于对事件的注册。

常见的阻塞情形:

1、Task.Wait() Task.Result如果任务没有完成,则会阻塞当前线程,容易造成死锁。

2、InvokeTask().GetAwaiter().GetResult(); 依旧是个阻塞写法

3、Thread.Sleep(),使用异步时应该为Task.Delay(),这种写法会立即释放当前线程

4、IO耗时的操作

如何开启多个异步任务?

Task.WhenAll(task),Task.WhenAny(task),不要在for循环中await。

如何取消异步任务?

使用CancellationToken实例的Cancel方法,同时配合IsCancellationRequested属性可以在任务中精确控制是否继续执行任务。

任务超时如何实现?

在创建CancellationTokenSource时传入超时时间,比如:new CancellationTokenSource(2000);

注意事项

需要注意的是每次需要手动释放CancellationTokenSource

??运算符,当左边的参数不为空则返回它,如果为空则返回右边的参数

有哪些同步机制?

SemaphoreSlim 推荐,用法简单

Channel

第三方库 - AsyncLock,比较复杂适用于大型项目

如何在在同步方法中调用异步?

1、应避免使用xxx.Wait(),xxx.Result,有可能导致死锁,且无法捕获异常。

2、应避免使用async void,无法捕获到内部异常,内部不加异常捕获会导致程序挂掉

3、InvokeTask().GetAwaiter().GetResult(); 可以捕获到内部异常。

4、SafeFireForget:async void SafeFireForget(Task task, Action? completed, Action<Exception> expection),第一个参数是异步执行的业务方法,第二个参数是异步任务完成后的回调委托,第三个参数是异步任务出现异常的回调委托

5、ContinueWith:Job().ContinueWith(xxxTask),在异步任务完成后调用它的ContinueWith方法,参数是对任务完成与否的处理方法。

GC

.NET中将引用对象分为三类,第0代,第1代,第2代对象,一般会优先进行第0代回收, 然后将未成功回收的放到第1代中,如果第1代对象再次未回收成功会放到第2代中,这样做可以减少回收的成本,提高效率。

在C#中,析构函数(也称为终结器)主要用于释放非托管资源(如文件句柄、数据库连接、操作系统句柄等)。

class ResourceWrapper
{~ResourceWrapper() // 析构函数{// 释放非托管资源CloseHandle(fileHandle);}
}

重要配置

在项目文件xxx.csproj中修改以下配置

工作站与服务器模式

工作站模式:适合内存占用小的程序和桌面应用,回收频率高,是单线程的。

服务器模式:适合内存占用大的程序,回收频率低,吞吐量高,是多线程的。

1、true - 服务器模式,false - 工作站模式

<ServerGarbageCollection>true</ServerGarbageCollection>

普通GC与后台GC

普通GC:会导致单次停顿时间变长(例如UI线程的卡死),但消耗的资源少,支持压缩处理。

后台GC:单次停顿时间短,但停顿的频率多,消耗的资源多,不支持压缩处理。

2、true - 启动后台GC,false - 普通GC

<ConcurrentGarbageCollection>true</ConcurrentGarbageCollection>

相关文章:

C#核心知识

委托 如何声明一个委托&#xff1a;通过 【delegate 返回值类型 委托名称】 的格式来定义 如何使用一个委托&#xff1a;使用new关键字&#xff0c;并传入和声明委托的构造相同的方法名&#xff0c;比如&#xff1a;new 委托名称(与委托的参数和返回值相同的一个方法名) 如何…...

[多彩数据结构] 笛卡尔树

[多彩数据结构] 笛卡尔树 定义 笛卡尔树&#xff0c;就是一棵树&#xff08;废话&#xff09;中存两个信息&#xff0c;为 ( w , i ) (w,i) (w,i)。其中 k w e i g h t , i i d kweight,iid kweight,iid。 即 w w w 存的是节点的值&#xff0c; i i i 存的是编号。 每…...

【Spark入门】Spark RDD基础:转换与动作操作深度解析

目录 1 RDD编程模型概述 1.1 RDD操作分类 2 常用转换操作详解 2.1 基本转换操作 2.2 键值对转换操作 2.3 复杂转换操作 3 动作操作触发机制 3.1 常见动作操作 3.2 动作操作性能对比 4 RDD执行机制深度解析 4.1 惰性求值原理 4.2 任务生成过程 5 性能优化实践 5.1 …...

一文了解 模型上下文协议(MCP)

MCP&#xff08;Model Context Protocol&#xff0c;模型上下文协议&#xff09;是由Anthropic公司于2024年11月推出的一项开放标准协议&#xff0c;旨在解决大型语言模型&#xff08;LLM&#xff09;与外部数据源和工具之间的通信问题。其核心目标是通过提供一个标准化的接口&…...

每日算法-250428

每日算法 - 2024年4月28日 记录今天完成的几道 LeetCode 算法题。 1877. 数组中最大数对和的最小值 题目描述: 思路 贪心策略。 解题过程 为了最小化所有数对和中的最大值&#xff0c;直观的想法是避免让两个较大的数相加。因此&#xff0c;最优策略是将数组中最小的元素…...

【“星瑞” O6 评测】 — CPU llama.cpp不同优化速度对比

前言 随着大模型应用场景的不断拓展&#xff0c;arm cpu 凭借其独特优势在大模型推理领域的重要性日益凸显。它在性能、功耗、架构适配等多方面发挥关键作用&#xff0c;推动大模型在不同场景落地 1. Kleidi AI 简介 Arm Kleidi 成为解决这些挑战的理想方案&#xff0c;它能…...

Redis 常见问题深度剖析与全方位解决方案指南

Redis 是一款广泛使用的开源内存数据库&#xff0c;在实际应用中常会遇到以下一些常见问题&#xff1a; 1.内存占用问题 问题描述&#xff1a;随着数据量的不断增加&#xff0c;Redis 占用的内存可能会超出预期&#xff0c;导致服务器内存不足&#xff0c;影响系统的稳定性和…...

在g2o图优化框架中,顶点(Vertex)和边(Edge)的定义与功能的区别

在g2o图优化框架中,顶点(Vertex)和边(Edge)是构建优化问题的核心组件,两者的定义与功能存在以下关键区别: 1. 作用与本质差异 顶点(Vertex) 代表待优化的变量,例如: 位姿(如VertexSE3Expmap表示3D位姿,包含平移和旋转)空间点坐标(如VertexPointXYZ表示3D点)参数…...

stm32wb55rg (2) 阅读资料手册

阅读资料是嵌入式开发的必备技能&#xff0c;能够从资料中找到自己想要的技术信息&#xff0c;才是最为核心的技术能力。 nucleowb55rg板子的MCU为stm32wb55rg&#xff0c;这块板子的资料有很多&#xff0c;但有些内容可以边用边读&#xff0c;有些内容有必要预先掌握下。 下面…...

基于Python的携程国际机票价格抓取与分析

一、项目背景与目标 携程作为中国领先的在线旅行服务平台&#xff0c;提供了丰富的机票预订服务。其国际机票价格受多种因素影响&#xff0c;包括季节、节假日、航班时刻等。通过抓取携程国际机票价格数据&#xff0c;我们可以进行价格趋势分析、性价比评估以及旅行规划建议等…...

【LLM开发】Unigram算法

Unigram算法 参考&#xff1a;Unigram算法解释 参考书籍&#xff1a;How Can We Make Language Models Better at Handling the Diversity and Variability of Natural Languages Unigram 算法是一种基于概率的子词分词方法&#xff0c;与BPE算法、WordPiece算法不同&#xff…...

GD32F407单片机开发入门(十六)单片机IAP(在应用编程)详解及实战源码

文章目录 一.概要二.GD32F407VET6单片机IAP介绍1.GD32F407VET6单片机IAP基本原理2.GD32F407VET6单片机IAP基本流程3.Ymodem协议 三.配置一个BOOT工程四.配置一个APP工程五.工程源代码下载六.小结 一.概要 单片机上电或系统复位后&#xff0c;ARM Cortex-M4处理器先从0x0000 00…...

庙算兵棋推演AI开发初探(7-神经网络训练与评估概述)

前面我们提取了特征做了数据集、设计并实现了处理数据集的神经网络&#xff0c;接下来我们需要训练神经网络了&#xff0c;就是把数据对接好灌进去&#xff0c;训练后查看预测的和实际的结果是否一致——也就是训练与评估。 数据解析提取 数据编码为数据集 设计神经网络 -->…...

[实战] IRIG-B协议详解及Verilog实现(完整代码)

目录 IRIG-B(B码)协议详解及Verilog实现一、IRIG-B协议概述二、帧格式详细解析1. 码元类型与索引计数2. 时间编码字段3. 控制功能码元&#xff08;CF&#xff09;4. 纯二进制秒码&#xff08;SBS&#xff09; 三、编码与信号特性四、时间编码实现1. 时间参数转换2. 帧数据填充规…...

从传统制造到智能工厂:MES如何重塑电子制造业?

在“中国制造2025”战略的引领下&#xff0c;电子制造业正经历深刻变革。多品种小批量、工艺复杂度高、质量追溯严苛等需求日益凸显。由此&#xff0c;如何通过数字化手段实现生产透明化、质量可追溯和资源高效协同&#xff0c;成为行业转型的关键命题。 一、电子制造业转型痛…...

使用Curl进行本地MinIO的操作

前言 最近在做相关的项目中关于本地服务搭建和访问的技术验证&#xff0c;打进来最基本的数据访问&#xff0c;使用了C。可以进行&#xff1a;服务器的可用性检查、Bucket的创建、文件夹的创建、文件的上传、文件的下载、文件夹和Bucket的存在性检查等基本接口&#xff0c;对自…...

uniswap getTickAtSqrtPrice 方法解析

先上代码&#xff1a; function getTickAtSqrtPrice(uint160 sqrtPriceX96) internal pure returns (int24 tick) {unchecked {// Equivalent: if (sqrtPriceX96 < MIN_SQRT_PRICE || sqrtPriceX96 > MAX_SQRT_PRICE) revert InvalidSqrtPrice();// second inequality mu…...

qemu(3) -- qemu-user使用

1. 前言 qemu中有很多的特技&#xff0c;此处记录下qemu-arm的使用方式&#xff0c;简单来说qemu-system-xx用于虚拟整个设备&#xff0c;包括操作系统的运行环境&#xff0c;而qemu-xx仅虚拟Linux应用程序的环境&#xff0c;不涉及操作系统&#xff0c;应用程序的系统调用有宿…...

CMCC RAX3000M使用Tftpd刷写OpenWrt固件的救砖方法

有时候&#xff0c;我们在玩运行 OpenWrt 的 CMCC RAX3000M &#xff0c;因为一些操作不当&#xff0c;导致无法进入路由器系统&#xff0c;无法正常刷机。此时&#xff0c;如果我们已经刷写了uboot&#xff0c;则可以在uboot模式下通过Tftpd刷写新的OpenWrt固件&#xff0c;实…...

Vue基础(7)_计算属性

计算属性(computed) 一、使用方式&#xff1a; 1.定义计算属性&#xff1a; 在Vue组件中&#xff0c;通过在 computed 对象中定义计算属性名称及对应的计算函数来创建计算属性。计算函数会返回计算属性的值。 2.在模板中使用计算属性&#xff1a; 在Vue的模板中&#xff0c;您…...

1.9多元函数积分学

引言 多元函数积分学是考研数学一的核心内容&#xff0c;涵盖三重积分、曲线积分、曲面积分及空间曲线积分。本文系统梳理4大考点&#xff0c;结合公式速查与典型示例&#xff0c;助你高效攻克积分难题&#xff01; 考点一&#xff1a;三重积分计算与应用 1️⃣ 对称性 (1) …...

【LINUX操作系统】线程操作

了解了线程的基本原理之后&#xff0c;我们来学习线程在C语言官方库中的写法与用法。 1. 常见pthread接口及其背后逻辑 1.1 pthread_create 与线程有关的函数构成了⼀个完整的系列&#xff0c;绝⼤多数函数的名字都是以“pthread_”打头的 • 要使⽤这些函数库&#xff0c;…...

web技术与nginx网站环境部署

一&#xff1a;web基础 1.域名和DNS 1.1域名的概念 网络是基于TCP/IP协议进行通信和连接的,每一台主机都有一个唯一的标识(固定的IP地址)&#xff0c;用以区别在网络上成千上万个用户和计算机。网络在区分所有与之相连的网络和主机时&#xff0c;均采用一种唯一、通用的地址…...

多元复合函数求导的三种情况

1. 一元函数与多元函数复合 1.1 变量关系 1.2 求导公式 因为根据链式法则&#xff0c;先对z求导&#xff0c;z是二元函数&#xff0c;所以说是偏导&#xff1b;再对里面求导&#xff0c;u、v是一元函数&#xff0c;所以说是全导。 2. 多元函数与多元函数复合 2.1 变量关系…...

全面解析DeepSeek算法细节(2) —— 多令牌预测(Multi Token Prediction)

概述 多令牌预测&#xff08;MTP&#xff09;技术使DeepSeek-R1能够并行预测多个令牌&#xff0c;显著提升推理速度。 关键特性 并行多令牌预测&#xff1a;DeepSeek-R1通过同时预测多个令牌而非按顺序预测&#xff0c;提升了推理速度。这减少了解码延迟&#xff0c;在不影响…...

如何从大规模点集中筛选出距离不小于指定值的点

一、背景&#xff1a;当点集处理遇见效率挑战 在数字化浪潮席卷各行各业的今天&#xff0c;点集数据处理已成为地理信息系统&#xff08;GIS&#xff09;、计算机视觉、粒子物理仿真等领域的核心需求。以自动驾驶场景为例&#xff0c;激光雷达每秒可产生超过10万个点云数据&am…...

单片机-89C51部分:6、数码管

飞书文档https://x509p6c8to.feishu.cn/wiki/WRNLwDd0iiG8OWkyatOcom6knHf 一、数码管简介 通俗解释&#xff1a; 一个数码管等于八个LED组合在一起&#xff0c;想要显示什么形状&#xff0c;就点亮对应LED即可。 一般数码管分为共阴极数码管和共阳极数码管。 共阳极接法&…...

可解释人工智能(XAI):让机器决策透明化

在人工智能&#xff08;AI&#xff09;技术飞速发展的今天&#xff0c;AI 系统已经广泛应用于金融、医疗、交通等多个关键领域。然而&#xff0c;随着 AI 系统的复杂性不断增加&#xff0c;尤其是深度学习模型的广泛应用&#xff0c;AI 的“黑箱”问题逐渐凸显。AI 系统的决策过…...

深入理解网络原理:TCP协议详解

在现代计算机网络中&#xff0c;传输控制协议&#xff08;TCP&#xff0c;Transmission Control Protocol&#xff09;是最常用的传输层协议之一。TCP被广泛应用于互联网中的许多关键应用&#xff0c;如网页浏览、电子邮件和文件传输等。作为一种面向连接的协议&#xff0c;TCP…...

二极管钳位电路——Multisim电路仿真

目录 二极管钳位电路 2.1 二极管正向钳位电路 二极管压降测试 2.1.1 二极管正向钳位电路图 2.1.2 二极管正向钳位工作原理 2.2 二极管负向钳位电路 2.2.1 二极管负向钳位电路图 2.2.2 二极管负向钳位工作原理 二极管正向反向钳位仿真电路实验结果 2.3 二极管顶部钳位…...

【更新】LLM Interview (2)

字数溢出&#xff0c;不解释 前文&#xff1a;llm interview (1) 文章目录 强化学习专题1 什么是RL&#xff1f;2 RL和监督、非监督、深度学习的区别3 RL中所谓的损失函数与深度学习中的损失函数有何区别&#xff1f;4 RL历史5 RL分类5.1 分类图示5.2 根据智能体动作选取方式分…...

第二节:文件系统

理论知识 文件系统的基本概念&#xff1a;文件系统是操作系统中负责管理持久数据的子系统&#xff0c;它将数据组织成文件和目录的形式&#xff0c;方便用户存储和访问数据。Linux文件系统的类型&#xff1a;常见的 Linux 文件系统类型有 Ext2、Ext3、Ext4、XFS、Btrfs 等。Ex…...

astrbot_plugin_composting_bucket开源程序是一个用于降低AstrBot的deepseek api调用费用的插件

一、软件介绍 文末提供程序和源码下载 astrbot_plugin_composting_bucket开源程序是一个用于降低AstrBot的deepseek api调用费用的插件&#xff0c;让deepseek api调用费用更低&#xff01; 本插件功能已集成到 AstrBot &#xff0c;您可以移除此插件&#xff0c;在 AstrBot…...

8.Three.js中的 StereoCamera 立体相机详解+示例代码

✨ 运行效果 &#x1f440; 左边一幅图、右边一幅图&#xff0c;略微偏移&#xff0c;形成立体感&#xff5e; &#xff08;戴上VR眼镜或红蓝3D眼镜体验更明显哦&#xff5e;&#xff09; &#x1f525; 小球或方块旋转中&#xff0c;左右略微不同步&#xff0c;立体感更强&am…...

MYSQL——时间字段映射Java类型

在 Java 中查询数据库中的【时间字段】时&#xff0c;可以使用以下几种类型来处理&#xff1a; 1. java.sql.Date 适用场景&#xff1a;当数据库中的时间字段是 date 类型时&#xff0c;使用 java.sql.Date 是最合适的选择。示例代码&#xff1a;ResultSet rs statement.exe…...

搭建speak yarn集群:从零开始的详细指南

在大数据处理领域&#xff0c;Apache Spark 是一个高性能的分布式计算框架&#xff0c;而 YARN&#xff08;Yet Another Resource Negotiator&#xff09;是 Hadoop 的资源管理器。将 Spark 集成到 YARN 中&#xff0c;不仅可以充分利用 Hadoop 的资源管理能力&#xff0c;还能…...

第十三章-PHP MySQL扩展

第十三章-PHP与MySQL 一&#xff0c;连接数据库 1. 使用 MySQLi&#xff08;面向对象方式&#xff09; <?php // 数据库参数 $host localhost; $username root; $password ; $database test_db;// 创建连接 $conn new mysqli($host, $username, $password, $databa…...

在服务器中,搭建FusionCompute,实现集群管理

序&#xff1a;需要自备一台服务器&#xff0c;并安装部署好KVM&#xff0c;自行下载镜像&#xff0c;将所需的CNA和VRM镜像放到服务器中&#xff0c;小编所用的进项版本如下&#xff0c;读者可自行根据需求下载其它版本的镜像。 CNA镜像&#xff1a;FusionCompute_CNA-8.3.0-…...

嵌入式开发学习日志Day11

一、函数的递归调用 在调用一个函数的过程中&#xff0c;又出现直接或者间接的调用函数本身&#xff0c;称之为函数的递归调用&#xff1b; 函数的递归调用是使用大量的内存空间完成程序进行的&#xff1b; 1.间接调用 2.直接调用 注意&#xff1a; 上图仅为示意&#xff0c;…...

【线性规划】对偶问题的实际意义与重要性质 学习笔记

【线性规划】对偶问题的实际意义与重要性质_哔哩哔哩_bilibili...

代码随想录第30天:动态规划3

一、01背包理论基础&#xff08;Kama coder 46&#xff09; “01背包”&#xff1a;有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i]&#xff0c;得到的价值是value[i] 。每件物品只能用一次&#xff0c;求解将哪些物品装入背包里物品价值总和最大。 1. 确…...

DSP48E2 的 MAC模式功能仿真

DSP48E2 仿真代码&#xff1a; 测试的功能为 P i ( A D ) ∗ B P i − 1 P_{i} (AD) * B P_{i-1} Pi​(AD)∗BPi−1​ timescale 1ns / 1nsmodule dsp_tb;// 输入reg CLK;reg CE;reg SCLR;reg signed [26:0] A, D;reg signed [17:0] B;// 输出wire signed [47:0] P;par…...

【环境配置】Mac电脑安装运行R语言教程 2025年

一、安装 Xcode Command Line Tools 打开终端&#xff0c;输入如下命令&#xff1a; xcode-select --install安装完成后&#xff0c;输入如下命令&#xff0c;能看见版本号说明安装成功 gcc --version二、下载安装R语言 https://mirrors.tuna.tsinghua.edu.cn/CRAN/ 点开后…...

常见算法的总结与实现思路

前言 hello&#xff0c;我是Maybe。昨天和今天花了两天左右的时间。把常见的排序算法都学完了&#xff0c;自己也实现了一遍。感觉收获满满&#xff0c;但是过程是艰辛的。下面我将分享代码和思维导图&#xff0c;希望可以帮助到大家。 思维导图(含注意事项&#xff0c;实现思…...

Ethan独立开发产品日报 | 2025-04-27

1. CreateWise AI 旨在提升你工作效率的AI播客编辑器 人工智能播客编辑器&#xff0c;让你的播客制作速度提升10倍&#xff01;它可以自动去除口头语和沉默&#xff0c;生成节目笔记和精彩片段&#xff0c;还能一键制作适合社交媒体分享的短视频——所有这些功能都只需一次点…...

5G与边缘计算:协同发展,开启智慧世界新篇章

**5G与边缘计算&#xff1a;协同发展&#xff0c;开启智慧世界新篇章 ** 大家好&#xff0c;我是Echo_Wish。今天我们来探讨一个备受关注的技术话题——5G与边缘计算的协同发展。随着5G网络的逐步普及以及边缘计算技术的快速发展&#xff0c;二者的结合为我们带来了前所未有的创…...

AcWing 885:求组合数 I ← 杨辉三角

【题目来源】 https://www.acwing.com/problem/content/887/ 【题目描述】 给定 n 组询问&#xff0c;每组询问给定两个整数 a&#xff0c;b&#xff0c;请你输出 C(a,b) mod (10^97) 的值。 【输入格式】 第一行包含整数 n。 接下来 n 行&#xff0c;每行包含一组 a 和 b。 …...

Python3:Jupyterlab 安装和配置

Python3:Jupyterlab 安装和配置 Jupyter源于Ipython Notebook项目&#xff0c;是使用Python&#xff08;也有R、Julia、Node等其他语言的内核&#xff09;进行代码演示、数据分析、机器学习、可视化、教学的非常好的工具。 最新的基于web的交互式开发环境&#xff0c;适用于n…...

如何搭建spark yarn模式的集合集群

一、环境准备 在搭建 Spark on YARN 集群之前&#xff0c;需要确保以下环境已经准备就绪&#xff1a; 操作系统&#xff1a;推荐使用 CentOS、Ubuntu 等 Linux 发行版。 Java 环境&#xff1a;确保安装了 JDK 1.8 或更高版本。 Hadoop 集群&#xff1a;已经搭建并运行的 Had…...

智能座舱架构中芯片算力评估

在智能座舱&#xff08;Intelligent Cockpit&#xff09;领域&#xff0c;芯片的算力是决定系统性能、响应速度以及用户体验的关键因素之一。 随着汽车智能化程度的不断提高&#xff0c;智能座舱对芯片的算力、功耗、集成度以及安全性提出了更高的要求。 智能座舱架构中芯片算…...