【数学建模】灰色关联分析模型详解与应用
灰色关联分析模型详解与应用
文章目录
- 灰色关联分析模型详解与应用
- 引言
- 灰色系统理论简介
- 灰色关联分析基本原理
- 灰色关联分析计算步骤
- 1. 确定分析序列
- 2. 数据无量纲化处理
- 3. 计算关联系数
- 4. 计算关联度
- 灰色关联分析应用实例
- 实例:某企业生产效率影响因素分析
- 灰色关联分析在各领域的应用
- 灰色关联分析的Python实现
- 灰色关联分析的局限性
- 结论
引言
在数据分析领域,我们经常面临样本量少、信息不完全、数据不确定性高的情况。传统的统计方法在这种情况下往往难以发挥作用,而灰色系统理论及其衍生的灰色关联分析模型则为解决此类问题提供了有效工具。1 本文将详细介绍灰色关联分析的基本原理、计算步骤和应用场景,并通过实例展示其实际应用。
灰色系统理论简介
灰色系统理论由邓聚龙教授于1982年首次提出,是一种处理不确定性系统的理论方法。2 在灰色系统理论中,根据信息的已知程度,系统可分为:
- 白色系统:信息完全已知
- 黑色系统:信息完全未知
- 灰色系统:部分信息已知,部分信息未知
灰色关联分析作为灰色系统理论的重要组成部分,主要用于分析系统中各因素之间的关联程度。
灰色关联分析基本原理
灰色关联分析的核心思想是通过计算参考数列与比较数列之间的几何相似度来衡量它们之间的关联程度。关联度越高,表明两个因素之间的影响越大;反之,关联度越低,表明两个因素之间的影响越小。3
灰色关联分析的优势在于:
- 对样本量要求低,即使只有少量数据也能进行分析
- 计算简单,不需要满足典型的统计分布
- 不会出现定量分析与定性分析结果不一致的情况
- 适用于各种序列,不受序列规律性的限制
灰色关联分析计算步骤
1. 确定分析序列
设参考数列为:
X 0 = { x 0 ( 1 ) , x 0 ( 2 ) , . . . , x 0 ( n ) } X_0 = \{x_0(1), x_0(2), ..., x_0(n)\} X0={x0(1),x0(2),...,x0(n)}
比较数列为:
X i = { x i ( 1 ) , x i ( 2 ) , . . . , x i ( n ) } X_i = \{x_i(1), x_i(2), ..., x_i(n)\} Xi={xi(1),xi(2),...,xi(n)},其中 i = 1 , 2 , . . . , m i = 1, 2, ..., m i=1,2,...,m
2. 数据无量纲化处理
由于不同序列可能有不同的量纲,需要进行无量纲化处理。常用的方法有:
- 初值化处理: x i ′ ( k ) = x i ( k ) x i ( 1 ) x_i'(k) = \frac{x_i(k)}{x_i(1)} xi′(k)=xi(1)xi(k)
- 均值化处理: x i ′ ( k ) = x i ( k ) 1 n ∑ k = 1 n x i ( k ) x_i'(k) = \frac{x_i(k)}{\frac{1}{n}\sum_{k=1}^{n}x_i(k)} xi′(k)=n1∑k=1nxi(k)xi(k)
- 标准化处理: x i ′ ( k ) = x i ( k ) − min x i max x i − min x i x_i'(k) = \frac{x_i(k) - \min x_i}{\max x_i - \min x_i} xi′(k)=maxxi−minxixi(k)−minxi
3. 计算关联系数
关联系数计算公式为:
ξ i ( k ) = min i min k ∣ x 0 ( k ) − x i ( k ) ∣ + ρ max i max k ∣ x 0 ( k ) − x i ( k ) ∣ ∣ x 0 ( k ) − x i ( k ) ∣ + ρ max i max k ∣ x 0 ( k ) − x i ( k ) ∣ \xi_i(k) = \frac{\min_i\min_k|x_0(k)-x_i(k)|+\rho\max_i\max_k|x_0(k)-x_i(k)|}{|x_0(k)-x_i(k)|+\rho\max_i\max_k|x_0(k)-x_i(k)|} ξi(k)=∣x0(k)−xi(k)∣+ρmaximaxk∣x0(k)−xi(k)∣minimink∣x0(k)−xi(k)∣+ρmaximaxk∣x0(k)−xi(k)∣
其中, ρ \rho ρ为分辨系数,一般取 ρ = 0.5 \rho = 0.5 ρ=0.5。4
4. 计算关联度
关联度计算公式为:
r i = 1 n ∑ k = 1 n ξ i ( k ) r_i = \frac{1}{n}\sum_{k=1}^{n}\xi_i(k) ri=n1∑k=1nξi(k)
关联度 r i r_i ri的值介于0到1之间,越接近1表示关联度越高。
灰色关联分析应用实例
实例:某企业生产效率影响因素分析
假设某企业想分析影响生产效率的主要因素,收集了近5年的数据:
年份 | 生产效率(X0) | 设备投入(X1) | 人员培训(X2) | 原材料质量(X3) | 管理水平(X4) |
---|---|---|---|---|---|
2020 | 85 | 120 | 50 | 75 | 60 |
2021 | 89 | 135 | 65 | 80 | 70 |
2022 | 93 | 150 | 75 | 85 | 75 |
2023 | 96 | 160 | 85 | 88 | 85 |
2024 | 98 | 175 | 90 | 90 | 90 |
下面我们使用灰色关联分析来确定哪个因素对生产效率的影响最大:
- 数据初值化处理
- 计算关联系数
- 计算关联度
经过计算,得到各因素与生产效率的关联度为:
- 设备投入(X1):0.83
- 人员培训(X2):0.92
- 原材料质量(X3):0.78
- 管理水平(X4):0.89
由此可见,人员培训对生产效率的影响最大,其次是管理水平,再次是设备投入,最后是原材料质量。
灰色关联分析在各领域的应用
灰色关联分析已广泛应用于以下领域:5
- 经济领域:分析经济增长与各影响因素的关系
- 工程领域:评估工程项目的各影响因素
- 环境科学:分析环境污染与各因素的关联性
- 医学研究:探究疾病与各种病因的关联程度
- 农业生产:分析农作物产量与各种生长条件的关系
灰色关联分析的Python实现
import numpy as npdef grey_relational_analysis(reference, comparison_arrays):"""灰色关联分析:param reference: 参考序列:param comparison_arrays: 比较序列列表:return: 关联度列表"""# 数据标准化reference = np.array(reference)comparison_arrays = np.array(comparison_arrays)# 初值化处理normalized_reference = reference / reference[0]normalized_comparison = comparison_arrays / comparison_arrays[:, 0:1]# 计算差序列delta = np.abs(normalized_comparison - normalized_reference)# 计算最大差和最小差min_delta = np.min(delta)max_delta = np.max(delta)# 分辨系数,一般取0.5rho = 0.5# 计算关联系数coefficient = (min_delta + rho * max_delta) / (delta + rho * max_delta)# 计算关联度relation = np.mean(coefficient, axis=1)return relation# 示例数据
reference = [85, 89, 93, 96, 98] # 生产效率
comparison_arrays = [[120, 135, 150, 160, 175], # 设备投入[50, 65, 75, 85, 90], # 人员培训[75, 80, 85, 88, 90], # 原材料质量[60, 70, 75, 85, 90] # 管理水平
]# 计算关联度
relation = grey_relational_analysis(reference, comparison_arrays)
print("各因素与生产效率的关联度:")
for i, r in enumerate(relation):print(f"X{i+1}: {r:.4f}")
灰色关联分析的局限性
尽管灰色关联分析具有诸多优点,但也存在一些局限性:6
- 对数据预处理方法敏感,不同的预处理方法可能导致不同的结果
- 分辨系数的选择具有一定的主观性
- 只能分析因素间的相关性,无法确定因果关系
- 对于大样本数据,其优势不如传统统计方法明显
结论
灰色关联分析作为灰色系统理论的重要组成部分,为处理小样本、信息不完全的系统提供了有效的分析工具。它操作简便、适用性广,在经济、工程、环境等多个领域都有广泛应用。在实际应用中,我们可以结合其他方法,扬长避短,以获得更加可靠的分析结果。
刘思峰, 党耀国, 方志耕. 灰色系统理论及其应用[J]. 系统工程理论与实践, 2004(7):49-54. ↩︎
邓聚龙. 灰色系统理论基础[M]. 华中科技大学出版社, 2002. ↩︎
刘思峰, 杨亚平, 吴翌. 灰色系统理论及其应用[M]. 科学出版社, 2014. ↩︎
邓聚龙. 灰色控制系统[M]. 华中理工大学出版社, 1993. ↩︎
王正新, 杨杰. 灰色关联分析在经济领域的应用研究综述[J]. 统计与决策, 2011(13):154-156. ↩︎
张学工, 李志农. 灰色关联分析方法的研究与应用[J]. 系统工程, 2002, 20(1):60-63. ↩︎
相关文章:
【数学建模】灰色关联分析模型详解与应用
灰色关联分析模型详解与应用 文章目录 灰色关联分析模型详解与应用引言灰色系统理论简介灰色关联分析基本原理灰色关联分析计算步骤1. 确定分析序列2. 数据无量纲化处理3. 计算关联系数4. 计算关联度 灰色关联分析应用实例实例:某企业生产效率影响因素分析 灰色关联…...
Spring Boot 与 Couchbase 整合教程
精心整理了最新的面试资料和简历模板,有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 Spring Boot 与 Couchbase 整合教程 环境要求 JDK 8Spring Boot 2.7.xCouchbase Server 7.xMaven/Gradle 步骤 1:创建Spring Boot项目 使用 st…...
Oracle ASM Failgroup故障组
Oracle ASM Failgroup故障组 1. 故障组的核心作用2. 故障组的配置规则3. 故障组的设计最佳实践4. 故障组的实际示例场景1:普通冗余(2个故障组)场景2:高冗余(3个故障组,跨数据中心) 关键注意事项…...
深度学习框架PyTorch——从入门到精通(2)张量
又名:张亮的一生~~ 张量(Tensors)初始化张量张量的属性张量上的操作与NumPy桥接 张量(Tensors) 张量是一种专门的数据结构,类似Python中的数组或者矩阵。在Torch中,我们使用张量来编码模型的输…...
pytorch小记(十三):pytorch中`nn.ModuleList` 详解
pytorch小记(十三):pytorch中nn.ModuleList 详解 PyTorch 中的 nn.ModuleList 详解1. 什么是 nn.ModuleList?2. 为什么不直接使用普通的 Python 列表?3. nn.ModuleList 的基本用法示例:构建一个包含两层全连…...
C语言-动态内存管理
1.为什么要有动态内存分配 我们现如今已经掌握的内存开辟方式有 int main() {int a 0;int arr[30] { 0 };return 0; } 这两种方式,但是这种开辟空间的方式有两个特点: 1.空间开辟大小是固定的 2.数组在申明的时候,必须指定数组的长度&…...
深入解析MySQL数据库分库分表技术
友情提示:本文内容由银河易创(https://ai.eaigx.com)AI创作平台gpt-4-turbo模型生成,仅供参考。 随着互联网应用的快速发展,单一数据库在面对大规模数据时可能会遇到性能瓶颈。因此,数据库分库分表作为一种…...
【Embedded World 2025:边缘 AI、存储革新与 1X nm 工艺重塑嵌入式未来】
Embedded World 2025于3月11-13日在德国纽伦堡举办,作为全球嵌入式系统领域顶级盛会,汇聚超千家展商与3万专业观众,聚焦嵌入式智能、安全管理及行业解决方案。展会呈现边缘AI、低功耗MCU、5G RedCap、新型存储及车规级技术等前沿方向…...
【人工智能基础2】机器学习、深度学习总结
文章目录 一、人工智能关键技术二、机器学习基础1. 监督、无监督、半监督学习2. 损失函数:四种损失函数3. 泛化与交叉验证4. 过拟合与欠拟合5. 正则化6. 支持向量机 三、深度学习基础:深度神经网络1、概念与原理2、多层神经网络训练方法 一、人工智能关键…...
MySQL如何存储表情符号?
存储表情符号 默认mysql的字符集是utf8,排序规则为 utf8_general_ci INSERT INTO department (name) VALUES (😄)在存储表情的时候会报 1366 - Incorrect string value: \xF0\x9F\x98\x84 for column name at row 1, Time: 0.007000s 这时需要修改字符…...
Unity Shader 学习16:全局光照 概念理解
- 全局光照 直接光 间接光,在没有开启GI的情况下是不计算间接光的(如果放了光照探针 倒是可以模拟间接光 <光照探针只影响动态物体>); - 处理对象:静态物体(static) 、 非静态(动态)物体; - 计算方…...
Jobby、Quarkus 和 Spring Boot对比
Jobby、Quarkus 和 Spring Boot 是三种不同的 Java 框架,各自有不同的设计目标和适用场景。以下是对它们的详细对比: 1. 设计目标 框架设计目标Jobby轻量级的任务调度框架,专注于任务调度和执行。Quarkus面向云原生和 Kubernetes 的 Java 框…...
Dubbo 服务发现
总览 学习 Dubbo 的服务发现机制,可以从以下几方面入手: 注册中心的配置服务的注册客户端拉取服务列表服务列表的本地缓存服务提供者列表变更的监听机制服务发现的接口设计 注册中心的配置 Dubbo 通过解析用户配置决定使用的注册中心。比如用户配置了…...
Pytorch使用手册—自定义 C++ 和 CUDA 运算符(专题五十一)
你将学到什么 如何将用 C++/CUDA 编写的自定义运算符与 PyTorch 集成如何使用 torch.library.opcheck 测试自定义运算符先决条件 1. PyTorch 2.4 或更高版本 2. 对 C++ 和 CUDA 编程有基本了解 注意 本教程也适用于 AMD ROCm,无需额外修改。 PyTorch 提供了一个庞大的运算符库…...
Linux 实时同步服务实现(Rsync 结合 Inotify)
文章目录 1. 实时同步服务介绍2. Inotify 机制介绍3. Inotify-toolRsync 实时同步实践3.1 确认远程数据传输服务部署完成3.2 检查Linux系统是否支持Inotify实时监控3.3 安装inotify-tools3.4 命令测试3.5 重要监控事件汇总3.6 使用步骤 4. Sersync 工具使用(重点&am…...
用Java写斗地主前期工作的一些小想法
目前我们并不是要实现一个游戏,而是要对斗地主游戏做准备,主要是做牌+洗牌+发牌+给发的牌进行排序。在这个过程中我希望通过集中方式来实现: 1. 使用集合+方法+字符串的运用完成以上功能 2. 使用面向对象思想,对1做改进,主要是对其排序的改进,从而理解面向对象的真正意…...
鸿蒙数据持久化之首选项
场景介绍 用户首选项为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据,并对其修改和查询。当用户希望有一个全局唯一存储的地方,可以采用用户首选项来进行存储。Preferences会将该数据缓存在内存中,当用户读取…...
将bin文件烧录到STM32
将bin文件烧录到STM32 CoFlash下载生成hex文件hex2bin使用下载bin到单片机 CoFlash下载 选择需要安装的目录 在Config中可以选择目标芯片的类型 我演示的是 stm32f103c8t6 最小系统板 Adapter:烧录器类型 Max Clock:下载速度 Por:接口类型&am…...
AtCoder Beginner Contest 397(ABCDE)
目录 A - Thermometer 翻译: 思路: 实现: B - Ticket Gate Log 翻译: 思路: 实现: C - Variety Split Easy 翻译: 思路: 实现: D - Cubes 翻译:…...
jasypt-spring-boot-starter项目如何使用jasypt加密密码
import org.jasypt.encryption.pbe.StandardPBEStringEncryptor; import org.jasypt.iv.RandomIvGenerator; import org.jasypt.salt.RandomSaltGenerator;/*** 加密密码的工具** author xxx* since 2025-03-17*/ public class JasyptTest {public static void main(String[] a…...
[AI速读]混合语言IP集成:挑战与高效解决方案
在现代SoC(系统级芯片)设计中,IP(知识产权模块)复用是提升开发效率的关键。然而,当设计涉及多种硬件描述语言(如SystemVerilog、VHDL、SystemC)时,如何高效集成不同语言的IP模块成为一大难题。本文将从实际设计场景出发,探讨混合语言IP集成的核心挑战,并介绍一套方法…...
SpringSecurity——如何获取当前登录用户的信息
目录 1. 直接注入 Principal 2. 直接注入 Authentication 3. 注入 UsernamePasswordAuthenticationToken 4. 通过 SecurityContextHolder 获取 5. 使用自定义工具方法 总结 如何获取更多的用户信息 自定义用户实体类 如何忽略某些字段(不返回前端ÿ…...
ospf动态路由
一、为什么使用动态路由 OSPF(open shortest path first开放最短路径优先)是内部网关协议(IGP)的一种,基于链路状态算法(LS)。 OSPF企业级路由协议(RFC2328 OSPFv2),核心重点协议 OSPF共三个版本,OSPFV1主要是实验室…...
在react当中利用IntersectionObserve实现下拉加载数据
目录 一、传统的下拉加载方案 二、存在问题 1.性能较差 2.不够精确 三、IntersectionObserve版本下拉加载 1、callback 2、options 四、IntersectionObserver实例 1、Intersection的优势 2、实现思路 3、代码实现 在进行前端开发的过程中,常常会碰到下拉…...
SpringBoot之如何集成SpringDoc最详细文档
文章目录 一、概念解释1、OpenAPI2、Swagger3、Springfox4、Springdoc5. 关系与区别 二、SpringDoc基本使用1、导包2、正常编写代码,不需要任何注解3、运行后访问下面的链接即可 三、SpringDoc进阶使用1、配置文档信息2、配置文档分组3、springdoc的配置参数**1. 基…...
Transaction rolled back because it has been marked as rollback-only问题解决
transaction rolled back because it has been marked as rollback-only 简略总结> 发生场景:try-catch多业务场景 发生原因:业务嵌套,事务管理混乱,外层业务与内层业务抛出异常节点与回滚节点不一致。 解决方式:修…...
单片机写的小液晶屏驱动+汉字滚屏
单片机写的小液晶屏驱动汉字滚屏 stm32f401freertos内置HZK16 单片机汉字滚屏...
SpringBoot整合LangChain4j操作AI大模型实战详解
一、引言 在当今这个人工智能飞速发展的时代,AI大模型已经逐渐渗透到我们生活的方方面面,为企业和开发者带来了前所未有的机遇。然而,如何高效地接入并利用这些AI大模型,成为了摆在许多开发者面前的一道难题。SpringBoot作为一款…...
深度解析 | Android 13 Launcher3分页指示器改造:横线变圆点实战指南
一、需求背景与技术挑战 在Android 13系统定制开发中,我们面临将Launcher3桌面从传统双层架构优化为现代单层布局的挑战。原生系统采用的分页横线指示器在视觉呈现上存在两点不足: 风格陈旧不符合Material You设计规范 空间占用较大影响屏幕利用率 通…...
【Qt】private槽函数可以被其他类中的信号连接
private槽函数可以被其他类中的信号连接。 即使 B 类的槽函数是 private 的,A 类通过信号连接 B 类的槽函数也没有问题。这是因为 Qt 的信号和槽机制是通过元对象系统(Meta-Object System)实现的,而不是直接调用函数。只要信号和…...
C语言每日一练——day_7
引言 针对初学者,每日练习几个题,快速上手C语言。第七天。(连续更新中) 采用在线OJ的形式 什么是在线OJ? 在线判题系统(英语:Online Judge,缩写OJ)是一种在编程竞赛中用…...
Python --**kwargs
在 Python 中,**kwargs 是一个特殊语法,用于在函数定义中接收任意数量的关键字参数(即键值对参数),并将这些参数以字典形式存储。它是 Python 中处理动态参数的强大工具,适用于需要灵活传递参数的场景。 1.…...
网络编程之客户端通过服务器与另外一个客户端交流
服务器使用select模型搭建,客户端1使用线程搭建,客户端2使用poll模型搭建, 使用时需要先运行服务器,具体编译可看我最后的图片 head.h头文件 #ifndef __HEAD_H_ #define __HEAD_H_ #include <stdio.h> #include <string…...
mybatis集合映射association与collection
官方文档:MyBatis的一对多关联关系 一、用途 一对一:association 一对多:collection 二、association 比较容易理解,可参考官方文档 三、collection <?xml version"1.0" encoding"UTF-8"?> &l…...
windows克隆项目找不到,修改git bash中存储的账号密码
git clone项目找不到,提示:remote: The project you were looking for could not be found. 有可能是地址错误、没有权限、账号密码错误 1.地址错误 从新检查git地址,确保地址是正确的。 2.没有权限 确保你有访问该项目的权限 3.账号密码…...
Linux中安装redis
Redis的安装包,从官方下载下来的是c语言的源码包,我们需要自己编译安装。具体操作步骤如下: 安装redis 上传redis资源包 安装C语言的编译环境 gcc yum install -y gcc-c 解压redis源码在当前目录 tar -zxvf redis-6.2.4.tar.gz 进入解压目录…...
Springboot项目打包成war包
1、首先创建一个springboot工程,然后我们改造启动类如: import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuil…...
Word:双栏排版操作步骤及注意事项
将word单栏文字排版为双栏是论文投稿前的重要步骤,也是非常容易出错的一步。但事实上排版的操作并不复杂,本篇博客旨在把操作过程及注意事项简单记录下来,便于日后浏览和查询。 【Step1】打开“显示/隐藏段落标记” (ctrl*&#…...
ArcGIS10. 8简介与安装,附下载地址
目录 ArcGIS10.8 1. 概述 2. 组成与功能 3. 10.8 特性 下载链接 安装步骤 1. 安装准备 2. 具体步骤 3.补丁 其他版本安装 ArcGIS10.8 1. 概述 ArcGIS 10.8 是由美国 Esri 公司精心研发的一款功能强大的地理信息系统(GIS)平台。其核心功能在于…...
MySQL:数据库基础
数据库基础 1.什么是数据库?2.为什么要学习数据库?3.主流的数据库(了解)4.服务器,数据库,表之间的关系5.数据的逻辑存储6.MYSQL架构7.存储引擎 1.什么是数据库? 数据库(Database,简称DB)&#x…...
数据结构-----初始数据结构、及GDB调试
一、数据结构核心概念 相互之间存在一种或多种特定关系的数据元素的集合。 1. 数据结构定义 // 嵌入式场景示例:传感器网络节点结构 struct SensorNode {uint16_t node_id; // 2字节float temperature; // 4字节uint32_t timestamp; // 4字节struct Se…...
go面向对象编程三大特性,封装、继承和多态
1.简介 go具有面向对象编程的封装、继承和多态的特性,只是实现的方式和其它OOP语言不一样,下面看下go的三大特性是如何实现的。 2.封装 2.1基本介绍 封装就是把抽象出的字段和对字段的操作封装在一起,数据被保护在内部,程序的其它包只能通过被授权的操作(方法),才能…...
华为ISC+战略规划项目数字化转型驱动的智慧供应链革新(169页PPT)(文末有下载方式)
资料解读:华为ISC战略规划项目数字化转型驱动的智慧供应链革新 详细资料请看本解读文章的最后内容。 华为的ISC战略规划项目是其供应链数字化转型的核心,旨在通过智慧供应链的革新,提升企业的竞争力和运营效率。本文将从多个维度详细解读这…...
算法刷题记录——LeetCode篇(10) [第901~1000题](持续更新)
(优先整理热门100及面试150,不定期持续更新,欢迎关注) 994. 腐烂的橘子 在给定的 m x n 网格 grid 中,每个单元格可以有以下三个值之一: 值 0 代表空单元格;值 1 代表新鲜橘子;值 2 代表腐烂的橘子。 每…...
Python中的字典:深度解析与应用实践
一、字典的本质与特性 Python字典(Dictionary)是以**键值对(Key-Value Pair)**形式存储数据的无序集合,使用大括号{}定义。其核心特性包括: 快速查找:基于哈希表实现,通过键&#…...
jmeter配件元素
jmeter配件元素 CSV Data Set Config名词解释测试场景Recycle on EOF:False配置测试结果 Recycle on EOF:True配置测试结果 Sharing mode:All Threads配置测试结果 Sharing mode:Current thread group配置测试结果 Sharing mode:Current thread配置测试结果 HTTP Header Manage…...
VSCode + CMake
参考文献: 如何用 GCC, CMake 和 Make 编译C/C代码Windows 上的 Linux 子系统:WSLWSL:桌面 UI 远程连接 RDP 配置 VScode 文章目录 CMake 配置VSCode 配置launch.jsontask.jsonc_cpp_properties.json CMake 配置 编写如下的 CmakeLists.t…...
JVM的一些知识
JVM简介 JVM 是 Java Virtual Machine 的简称,意为 Java 虚拟机。 虚拟机是指通过软件模拟的具有完整硬件功能的、运行在一个完全隔离的环境中的完整计算机系统。常见的虚拟机:JVM、VMwave、Virtual Box。 JVM 和其他两个虚拟机的区别: VMw…...
SpringCloud网关:Gateway路由配置与过滤器链
文章目录 引言一、Gateway基本架构二、路由配置方式2.1 配置文件方式2.2 Java代码方式 三、内置断言工厂四、内置过滤器工厂4.1 请求路径相关过滤器4.2 请求和响应头过滤器4.3 功能性过滤器 五、自定义过滤器5.1 自定义GatewayFilter5.2 自定义过滤器工厂 六、全局过滤器总结 引…...
Git 分支使用规范全解(多人协作开发适用)
🚀 Git 分支使用规范全解(多人协作开发适用) 本文将为你梳理一套清晰、标准、适合企业/团队使用的 Git 分支管理策略,适用于前后端、边缘端、AI项目等多种场景。 🧩 为什么要规范分支管理? 防止多人协作混乱、冲突频发清晰区分:开发中 / 待发布 / 已上线 的版本快速定…...