机器学习算法
目录
行向量与列向量
信息论
Logistic回归
支持向量机SVM
核函数:
决策树 Decision Tree
CART决策树
ID3 决策树
C4.5 决策树
决策树的过拟合问题
回归树
***仅做复习需要,若侵权请及时联系我
行向量与列向量
- 行向量:是一个横向的一维向量。对于一个行向量a,可以通过转置得到一个列向量b。
- 列向量:是一个纵向的一维向量。对应一个列向量b,可以通过转置得到一个行向量a。
信息论
- 基本思想:一件不太可能的事发生,要比一件非常可能的事发生,提供更多的信息。
Logistic回归
- Logistic回归是一种经典的分类方法,属于对数线性模型,根据现有的数据对分类边界线建立回归公式,以此进行分类。
- 线性回归模型基础上,使用Sigmoid函数,将线性模型结果压缩到[0, 1]之间(归一化),令其拥有概率意义,属于概率性判别式模型。
- Logistic分布
- 二项logistic回归模型
- 推导过程(使用损失函数的极大似然,梯度下降的方式对参数进行优化)
随后使用梯度下降法求解参数。
- 多分类logistic回归:设Y
{1, 2, ..., K},则多项式logistic回归模型为:
- 对数线性模型: 对数线性模型描述的是概率与协变量之间的关系;对数线性模型也用来描述期望频数与协变量之间的关系。
- 协变量:在实验的设计中,协变量是一个独立变量,不为实验者所操纵,但仍影响实验结果。例如在想预测降雨量,温度T就是协变量。
支持向量机SVM
- 支持向量:训练数据集中与分离超平面距离最近的样本点的实例称为支持向量。
- 支持向量机(Support Vector Machines, SVM)是一种二分类模型。
- 它的基本模型是定义在特征空间上的间隔最大的线性分类器,支持向量机还包括核技巧,这使其成为实质上的非线性分类器。
- 学习策略:间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。
- 分类:
- 线性可分支持向量机:当训练数据线性可分时,通过硬间隔最大化,学习一个线性分类器,即线性可分支持向量机,又称硬间隔支持向量机。
- 线性支持向量机:当训练数据接近线性可分时,通过软间隔最大化,学习一个线性分类器,即线性支持向量机,又称软间隔支持向量机。(ps. 数据接近线性可分是指数据集中大部分样本可以通过一个线性超平面(如直线、平面等)正确分类,但可能存在少量样本无法被线性超平面完全分开。这种情况在实际问题中非常常见,因为真实数据往往包含噪声或异常值。)
- 非线性支持向量机:当训练数据线性不可分时,通过使用核技巧及软间隔最大化,学习非线性支持向量机。
- 推导
核函数:
- 用于将数据映射到高维空间的一种技术,核心思想是通过在高维空间中寻找线性可分性来解决原始空间中非线性可分的问题。核函数表示将输入从输入空间映射到特征空间后得到的特征向量之间的内积。
- 需要注意的是,核函数的目的是将数据映射到高维空间,那为什么运算时却使用两个样本在低维空间之间的内积呢?其实,这是因为在高维空间中,数据计算是很困难的,很多应用中其实不需要获取映射后的高维空间的坐标,仅需要数据在高维空间下内积的结果。在对数据进行计算时发现:高维空间向量内积结果<f(x), f(y)> = 低维空间向量内积结果的N次幂(N = 高维空间维度 / 低维空间维度)。
- 常见的核函数:
- 线性核:
- 多项式核:
- 高斯核:
- Sigmoid核:
- 线性核:
- 最大间隔超平面背后的原理:
- 相当于在最小化权重时对训练误差进行了约束——对比 L2 范数正则化,则是在最小化训练误差时,对权重进行约束。
-
相当于限制了模型复杂度——在一定程度上防止过拟合,具有更强的泛化能力。
- 核技巧: 在原始空间中,数据可能是非线性可分的。通过核函数将数据映射到高维空间后,数据可能变得线性可分。在高维空间中,可以使用线性分类器(如 SVM)进行分类。
- 凸二次规划:凸二次规划是数学优化中的一类重要问题,其目标函数是二次的,约束条件是线性的,并且目标函数是凸函数。
- 凸函数:局部最小值就是全局最小值,该性质可以避免陷入局部最优解。
- 合页损失函数:
决策树 Decision Tree
- 决策树是一种以树形数据结构来展示决策规则和分类结果的模型,每一条从根结点(对最终分类结果贡献最大的属性)到叶子结点(最终分类结果)的路径都代表一条决策的规则。
- 决策树训练过程:特征选择、树的生成和剪枝。
- 特征选择
- 树的生成
- 剪枝
- 决策树的划分属性
- 决策树的生成中,寻找最优划分属性是重点。
- 信息增益方法:
- 信息熵公式
,假设决策树样本集为D,经过某属性a划分后,样本集被划分为D1, D2, ... ,Dv,计算划分前的信息熵
和划分后的信息熵
。
- 信息增益计算公式为:
- 信息熵公式
- 增益比方法:
- 信息增益方法存在一个很大的问题,若属性是编号,使用编号对属性进行划分,每个节点只有一个样本,熵为0,此时的信息增益是最大的,但这种划分没有任何意义在,因此,提出了增益比方法。
- 增益比计算公式为:
,其中
。
- 增益比不仅考虑信息增益,还考虑在属性a的可选取值,当可选取值增多的时候,IV也会随之增大,因此在一定程度上抑制信息增益偏好取值多的属性的特点。
- 基尼系数方法:
- 基尼系数公式:
- 基尼系数和熵的对比:
-
- 基尼系数公式:
CART决策树
- CART全称Classification and Regression Tree,是一棵二叉树。
- CART算法包括回归树和分类树两种
- 回归树用于目标变量为连续型的建模任务,特征选择准则是平方误差最小准则
- 分类树用于目标变量为离散型的建模任务,特征选择准则是基尼指数(选择基尼系数小的作为标准)
- 二者核心都在于递归地选择最优特征构建决策树
- CART算法步骤:
- 决策树生成:从根结点,自上而下构建节点,每个节点选择一个“最好”的属性来划分。
- 决策树剪枝:使用验证数据集对生成的决策树进行剪枝,使用损失最小作为剪枝标准。(剪枝是正则化的手段,由于决策树训练中容易过拟合。)
ID3 决策树
- 使用信息增益进行特征选择,只能对离散型属性的数据构造决策树
- 题目:
- 结果:
C4.5 决策树
- 使用信息增益比进行特征选择,改善了ID3算法的缺点(倾向于选择取值较多的属性)
- 例题
决策树的过拟合问题
- 当决策树的深度特别深以至于叶子节点中的对象只剩下一个或者很少,导致决策树的模型过于复杂,容易造成过拟合问题,泛化性能下降。(深度小容易欠拟合,深度大容易过拟合)
- 产生原因:
- 样本问题:样本噪声过大、样本抽样方法错误、建模时使用了样本中太多无关的输入变量。
- 决策树构建问题:算法对决策树的生长没有合理的限制和修剪。
- 解决方法:
- 合理有效抽样,用能够反映业务逻辑的训练集去产生决策树。
- 剪枝:提前停止树的增长或者对已经生成的树按照一定的规则进行后剪枝。
- 先剪枝:提前停止树的构建。(预设树高度、预设节点实例阈值、预设增益阈值等)
- 后剪枝:首先构建完整决策树,允许树过拟合。随后删除一些子树,用叶子结点来代替,选取叶子结点的原则是大多数原则(majority class criterion),即子树中大多数训练样本所属的类别来标识。
回归树
- 回归问题:标签是连续的
- CART回归树:当待预测结果是离散型数据时,则CART生成分类决策树,如果是连续型数据,则CART生成回归决策树。
- 将输入空间划分为M个单元{R_1,..,R_m,..,R_M},并在每个单元上对应有输出值
c_m,
则该回归树可表示为,I(x)为指示函数。如果已经划分好了输入空间,通常使用平方误差作为损失函数来表示回归树对于训练数据的预测误差,通过最小化损失函数来求解每个划分单元的最优输出值。如果使用平方误差,易知最优输出值即每个划分单元上所有实例的均值
。
- 划分输入空间:一个启发式方法是,以特征向量中的某一个特征为标准进行切分。假设选择特征向量中第
j
个变量作为切分变量,然后选择某个实例中第j
个值s
作为切分点,则定义如下两个划分单元,遍历每个实例的第
j
个值s
,选择满足以下条件的作为最优切分变量j
和切分点s
其中输出值
c1
和c2
分别为,接着,继续对两个子空间重复以上步骤,直到满足条件为止;得到将输入空间划分为
M
个区域的决策树。
CART使用平方误差作为损失的原因:
- 最优预测值是样本标签的均值,均值的计算简单高效,对异常值鲁棒。
- 平方误差是严格凸函数,具有连续的二阶导数,使用梯度下降能够快速收敛到全局最优解。
***仅做复习需要,若侵权请及时联系我
参考资料:
- github
- CSDN
- CSDN
相关文章:
机器学习算法
目录 行向量与列向量 信息论 Logistic回归 支持向量机SVM 核函数: 决策树 Decision Tree CART决策树 ID3 决策树 C4.5 决策树 决策树的过拟合问题 回归树 ***仅做复习需要,若侵权请及时联系我 行向量与列向量 行向量:是一个横…...
学习记录706@微信小程序+springboot项目 真机测试 WebSocket错误: {errMsg: Invalid HTTP status.}连接不上
我微信小程序springboot项目 真机测试 websocket 总是报错 WebSocket错误: {errMsg: Invalid HTTP status.},总是连接不上,但是开发者工具测试就没有问题。 最后解决方案是编码token,之前是没有编码直接拼接的,原因不详。 consol…...
SSH服务
一、准备 #请说明以下服务对应的端口号或者端口对应的服务 ssh 22 telnet 23 http 80 https 443 ftp 20 21 RDP 3389 mysql 3306 redis 6379 zabbix 10050 10051 elasticsear…...
GitHub上免费学习工具的精选汇总
以下是GitHub上免费学习工具的精选汇总,涵盖编程语言、开发框架、数据科学、面试准备等多个方向,结合工具的功能特点、社区活跃度及适用场景进行分类推荐: 一、编程语言与开发框架 Web Developer Roadmap 简介:为开发者提供全栈学…...
2025.4.1总结
今天看了一部网上很火的记录片《God,my brother》,中文名为《上帝不如我兄弟》,简述的是一个自媒体博主杜克遇到孟加拉一哥(车夫),最终一哥在杜克的帮助下,成功实现阶级跨越,而杜克也因此成为百…...
MySQL日志管理
目录 查询日志 慢查询日志 错误日志 二进制日志 其他功能 查询日志 查询日志用来记录所有查询语句的信息,由于开启此日志会占用大量内存,所以一般不会开启 查看查询日志是否开启 开启查询日志 慢查询日志 用于性能的调优,查看执行速度超…...
vscode中的【粘滞滚动】的基本概念和作用,关闭了以后如何开启
1、粘滞滚动的基本概念和作用 VSCode中的“粘滞”功能主要是指编辑器在滚动时的一种特殊效果,使得编辑器在滚动到某个位置时会“粘”在那里,而不是平滑滚动到底部或顶部。 粘滞滚动的基本概念和作用 粘滞滚动功能可以让用户在滚动时更直观地看到当前…...
我用Axure画了一个富文本编辑器,还带交互
最近尝试用Axure RP复刻了一个富文本编辑器,不仅完整还原了工具栏的各类功能,还通过交互设计实现了接近真实编辑器操作体验。整个设计过程聚焦功能还原与交互流畅性,最终成果令人惊喜。 编辑器采用经典的三区布局:顶部工具栏集成了…...
Mysql之Redo log(Red log of MySQL)
Mysql之Redo log 数据库事务的4个特性之一的持久性是数据库保证数据一致性的关键,mysql为了确保事务在系统崩溃后也能恢复,引入了redo log 重做日志这一机制。 什么是redo log 持久性指的是一旦事务提交数据就要永久的保存到数据库中,不能…...
Spring Cloud ReactorServiceInstanceLoadBalancer 自定义负载均衡
自定义负载均衡类 import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.ObjectProvider; import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.client…...
汽车诊断开发入门以及OBD检测
一、OBD 概述 定义:OBD 即 On - Board Diagnostics,车载自动诊断系统。它能实时监测车辆各项系统和部件状态,以此帮助诊断故障并预警。设计初衷与发展:最初设计目的是控制汽车尾气排放,确保符合环境标准。随着技术进步…...
高速PCB设计过孔不添乱,乐趣少一半
高速先生成员--姜杰 高速先生最近写了不少介绍高速信号仿真的文章(文章链接汇总,看这篇就够了《聊聊100G信号的仿真》)。雷豹逐一研读后感觉获益匪浅,甚至一度觉得自己强的可怕,不过,在得知即将负责一个11…...
人工智能在医疗领域的前沿应用与挑战
在当今数字化时代,人工智能(AI)技术正以前所未有的速度改变着我们的生活,其中医疗领域无疑是受益最为显著的行业之一。从疾病诊断、治疗方案制定到患者护理,AI的应用不仅提高了医疗服务的效率和质量,还为医…...
怎么实现实时无延迟的体育电竞动画直播
要实现真正的实时无延迟动画直播,需要考虑以下几个关键方面: 一、技术方案选择 1.WebRTC技术 点对点(P2P)传输协议,延迟可低至100-500ms 适用于互动性强的应用场景 开源且被主流浏览器支持 2.低延迟HLS/CMAF 可将延迟控制在1-3秒 兼容…...
VLAN、QinQ、VXLAN的区别
1、技术本质与封装方式 技术OSI层级封装原理标识位长度拓展性VLAN数据链路层L2在以太网帧头插入802.1Q Tag(单层VLAN标签)12位(4094个)有限,仅支持单一网络域内隔离QinQ数据链路层L2在原始VLAN标签外再封装一层802.1Q…...
使用大语言模型进行Python图表可视化
Python使用matplotlib进行可视化一直有2个问题,一是代码繁琐,二是默认模板比较丑。因此发展出seaborn等在matplotlib上二次开发,以更少的代码进行画图的和美化的库,但是这也带来了定制化不足的问题。在大模型时代,这个…...
Mac电脑(M芯片)安装ubuntu22.04
一、下载VMware虚拟机 VMware官网下载VMware Fusion 二、下载ubuntu镜像 M系列的Mac电脑要下载arm架构的镜像 方法一:官网下载 方法二:清华源下载 清华源镜像 点击获取下载链接 选择Ubuntu,下载22.04.5(arm64,Server) 三、创建虚拟机 …...
【linux】管理磁盘——RAID10(含备份)与逻辑卷管理
RAID概念 当今CPU性能每年可提升30%-50%但硬盘仅提升7%硬盘在服务器中需要持续、频繁、大量的I/O操作,故障机率较大,则需要对硬盘进行技术改造,提 升读写性能、可靠性1988年,加利福尼亚大学伯克利分校首次提出并定义了RAID技术概…...
Day3 蓝桥杯省赛冲刺精炼刷题 —— 排序算法与贪心思维
一、0实现插入排序 - 蓝桥云课 算法代码: #include <stdio.h>const int N 10000; // 定义数组的最大大小int arr[N 10], temp[N 10]; // arr为待排序的数组,temp为辅助数组// 合并操作:将两个已经排好序的子数组合并为一个有序数…...
查看iphone手机的使用记录-克魔实战
如何查看 iOS 设备近期的详细使用数据 在日常使用手机时,了解设备的运行状态和各项硬件的使用情况可以帮助分析耗电情况、优化应用使用方式。iOS 设备提供了一些数据记录,能够显示应用的启动和关闭时间、后台运行情况,以及应用在使用过程中调…...
Tcp——客户端服务器
Tcp——客户端服务器 目录 一、基本概念 二、代码 2.1 ser服务器 2.2 cil客户端 一、基本概念 TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在TCP/IP模型中,TCP位于IP层之上,应用层之下&#x…...
《HarmonyOS Next开发进阶:打造功能完备的Todo应用华章》
章节 6:日期选择器与日期处理 目标 学习如何使用DatePicker组件。理解日期格式化和日期计算。 内容 日期选择器基础 使用DatePicker组件。处理日期选择事件。 日期格式化 格式化日期为友好的文本。 日期计算 判断日期是否过期或即将到期。 代码示例 Entry Com…...
化学方程式配平 第33次CCF-CSP计算机软件能力认证
很经典的大模拟题目 但是还不算难 大模拟题最需要注意的就是细节 写代码一定要考虑全面 并且要细心多debug 多打断点STL库的熟练使用 istringstream真的处理字符串非常好用 注意解耦合思想 这样改代码debug更加清晰 https://www.acwing.com/problem/content/5724/ #includ…...
数据结构【链表】
链表 1.单链表1.1概念与结构1.1.1结点1.1.2链表的性质1.1.3链表的打印 1.2实现单链表1.3链表的分类 2.双向链表2.1概念与结构2.2实现双链表 3.顺序表与链表的分析 1.单链表 1.1概念与结构 概念:链表是⼀种物理存储结构上非连续、非顺序的存储结构,数据…...
AIP-210 Unicode
编号210原文链接AIP-210: Unicode状态批准创建日期2018-06-28更新日期2018-06-28 API在处理(解释、限制长度、计费)字符串值和字符串编码时,应当保持一致,范围从理解上的歧义(如域“限制为1024个字符”)到…...
WiFi(无线局域网)技术的多种工作模式
WiFi(无线局域网)技术支持多种工作模式,以满足不同的网络需求和应用场景。以下是主要的WiFi工作模式及其详细说明: 1. 基础设施模式(Infrastructure Mode) [无线接入点 (AP)]/ | \ [客户端…...
游戏引擎学习第198天
回顾并为今天的内容设定 今天我们有一些代码需要处理。昨天我们进行了一些调试界面的整合工作,之前我们做了一些临时的、粗糙的操作,将一些东西读进来并放到调试界面中。今天,我们并不打算进行大规模的工作,更多的是对之前的代码…...
git命令简陋版本
git push git pull 临时仓库暂存区 ##############创建提交################ git init #创建git地址 git config --global user.name "***YQ1007" git config --global user.email "***gmail.com" git remote…...
MySQL 进阶 面经级
会用数据库,找大厂工作是远远不够的。 本人2025美团暑期AI面试好几个MySQL场景问题不会答,已脏面评。遂在此整理学习! 文章目录 美团AI面1.数据库分片sharding的概念,它有什么优势和挑战?优势Sharding 挑战 2. 分库分表的常见策…...
JavaScript数组Array的使用:添加、删除、排序、遍历、互转
1、数组的概述 数组是存储于一个连续空间且具有相同数据类型的元素集合。可以把数组看作一张单行表格,该表格的每一个单元格都可以存储一个数据,而且各单元格中存储的数据类型可以不同。这些单元格被称为数组元素,每个数组元素都有一个索引号,通过索引号可以方便地引用数组…...
Vue Transition组件类名+TailwindCSS
#本文教学结合TailwindCSS实现一个Transition动画的例子# 举例代码: <transition enter-active-class"transition-all duration-300 ease-out"enter-from-class"opacity-0 translate-y-[-10px]"enter-to-class"opacity-100 translate-…...
蓝桥杯备赛:动态规划入门
写题的时候我发现:除了输入输出、循环、条件等基本语句一类的题目之外,我就什么都不会了,题目根本写不下去。 需要学:动态规划、哈希表、二分法、贪心算法等基本算法 现在什么都不会,对这些东西也是一点都不会懂&…...
【VSCode SSH 连接远程服务器】:身份验证时,出现 key: invalid format 的问题
从其它电脑上把私钥文件复制后,出现格式错误 很有可能是复制的时候引入了乱码 很有可能是复制的时候引入了乱码 因此直接从其它电脑上把私钥文件复制到新设备上即可!(不直接复制私钥的内容) 亲测有效。...
git和VScode
游戏存档保存的是游戏的进度 git保存的是代码的进度 Vscode和git 要正常的使用git首先要设置姓名和邮箱 要配合gitee(也可以是其他平台,以gitee举例)使用,首先创造一个gitee账号,复制邮箱和用户名 在VScode中找到…...
c语言数据结构——八大排序算法实现
文章目录 八大排序算法排序算法种类选择排序类堆排序算法思路时间复杂度和空间复杂度 选择排序算法思路算法优化时间复杂度和空间复杂度 插入排序类插入排序算法思路时间复杂度和空间复杂度 希尔排序算法思路时间复杂度和空间复杂度 非比较排序类计数排序时间复杂度和空间复杂度…...
Python入门(5):异常
目录 1 异常处理基础概念 1.1 什么是异常? 1.2 异常与错误的区别 2 异常处理基础 2.1 常见内置异常类型 2.2 try-except 基本结构 2.3 捕获多个异常 2.4 抛出异常 2.4.1 使用raise语句 2.4.2 自定义异常类 3 高级异常处理技巧 3.1 不要过度捕…...
OpenCv(五)——边缘检测
目录 边缘检测 一、sobel算子边缘检测 (1)原理 1、X轴方向的边缘检测 2、Y轴方向的边缘检测 (2)sobel算子参数 (3)X轴方向边缘检测代码演示 1、显示圆的图像 2、x方向上的边缘检测…...
论文笔记:Instruction-Tuning Llama-3-8B Excels in City-Scale MobilityPrediction
2024 Sigspatial Hummob Workshop 第2/3名 提出了 Llama-3-8B-Mob——一个基于 Llama-3-8B的指令微调版本,专为长期、多城市人类移动预测而设计。 1 问题定义 2 方法 将轨迹预测问题重构为一个带有指令的问答任务 通过 GPT-3.5 和 4 进行实验,发现虽然…...
基础框架系列分享:一个通用的Excel报表生成管理框架
由于我们系统经常要生成大量的Excel报表(Word,PDF报表也有,另行分享),最初始他们的方案是,设计一个表,和Excel完全对应,然后读表,把数据填进去,这显然是非常不…...
Linux安装Ubuntu24.04系统 并安装配置Nvidia 4090 显卡驱动
目录标题 方式一、离线安装一、检查确认系统的版本首先在终端输入下载注意:注意, 后面带notebook的是笔记本的驱动,不要下载错了点击view点击下载二、安装我选择的是 NVIDIA Proprietary.安装完成之后,再次检查补充步骤三:禁用默认nouveau显卡驱动,后重启系统补充步骤四:…...
Deepdiff的使用实战记录
使用场景:在做数据库迁移 或 底层代码重构优化,用于对比新旧代码的接口层返回数据对比 1.模拟在新改造的接口上新加了字段is_ok,且时间戳字段精度变成毫秒,img字段域名变更,能准确对比。 api_old {"ret":…...
C语言:多线程
多线程概述 定义 多线程是指在一个程序中可以同时运行多个不同的执行路径(线程),这些线程可以并发或并行执行。并发是指多个线程在宏观上同时执行,但在微观上可能是交替执行的;并行则是指多个线程真正地同时执行&…...
Linux(25)——进程调度
目录 一、Linux 进程调度: 二、进程优先级: 1、普通调度策略: 2、完全公平调度程序: 三、nice 值: 1、nice 值范围: 2、nice 值修改权限: (1)降低: …...
SAP CO88根据标准价格拆分增量错误解决
CO88事务码可能出现如下错误,错误消息号 MLCCS015。出现该错误,表示成本组件分解出现了问题,参照 MLCCS015 错误的帮助文档: 其实这里已经说明了原因和解决方法,但不是很具体。note 632752 - Use of the program MLCCS…...
spring boot 整合redis
1.在pom文件中添加spring-boot-starter-data-redis依赖启动器 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 2.编写三个实体类 RedisHash("p…...
游戏被外挂攻破?金融数据遭篡改?AI反作弊系统实战方案(代码+详细步骤)
一、背景与需求分析 随着游戏行业与金融领域的数字化进程加速,作弊行为(如游戏外挂、金融数据篡改)日益复杂化。传统基于规则的防御手段已难以应对新型攻击,而AI技术通过动态行为分析、异常检测等能力,为安全领域提供了革命性解决方案。本文以游戏反作弊系统和金融数据安…...
【JavaWeb】前端基础
JavaWeb 前端三大件:HTML(主要用于网页主体结构的搭建),CSS(页面美化),JavaScript(主要用于页面元素的动态代理) 1. HTML 1.1 html概述 HTML:Hyper Text …...
STM32智能手表——任务线程部分
RTOS和LVGL我没学过,但是应该能硬啃这个项目例程 ├─Application/User/Tasks # 用于存放任务线程的函数 │ ├─user_TaskInit.c # 初始化任务 │ ├─user_HardwareInitTask.c # 硬件初始化任务 │ ├─user_RunModeTasks.c…...
Java线程池详解
摘要:线程池是Java高并发编程的核心组件,有效管理线程生命周期并提升系统性能。本文将深入剖析Java线程池的实现原理、配置策略及生产环境中的实战技巧,助您构建高效稳定的多线程应用。 一、线程池核心价值 1.1 为什么需要线程池?…...
Git Fetch 和 Git Pull 的区别
Git fetch和git pull的区别 二者都能够从远程获取最新版本到本地。 1. Git fetch 仅从远程获取最新版本到本地,不会进行 merge(合并)操作。 操作示例 从远程的 origin的 master 主分支上获取最新版本到 origin/master 分支上:…...