如何在 PowerEdge 服务器上设置 NIC 分组
以下文章提供了有关 Windows、VMware 和 Linux 中的 NIC 分组的信息。
- 什么是网络适配器分组?
- 设置 NIC 分组 Windows
- 设置 NIC 分组 VMware
- 设置 NIC 分组 Linux
什么是网络适配器分组(绑定)?
网络适配器分组是一个术语,用于描述组合多个网络连接以提高吞吐量或提供冗余的各种方法。网络接口卡 (NIC) 分组和板载 LAN (LOM) 分组。可为组织提供经济高效的方法,以快速轻松地增强网络可靠性和吞吐量。
网络接口卡 (NIC) 分组是在服务器中提供高可用性和容错的一种方法。
下面的示例表示这样一个 Web 服务器:带有两个 NIC,每个都有一个上行链路和一个下行链路连接。
两个网卡中的一个出现故障或已断开连接,但客户端的计算机连接保持连接。
图 1:2 NIC 分组网卡发生故障,但互联网连接仍然正常。
四种主要网络分组类型如下所示:
智能负载均衡 (SLB) 和故障切换:这种类型的分组在所有主适配器之间平衡网络流量。如果主适配器发生故障,其余的主适配器将继续平衡负载。如果所有主适配器发生故障,流量将继续使用待机适配器流动,而不会中断。当主适配器恢复在线状态后,流量继续流过它。
带有自动回退禁用的 SLB:这种类型的分组的运行方式与上述相同,但在恢复在线状态后,流量不会自动恢复到主适配器。
IEEE 802.3ad 动态链路聚合:也称为链路聚合控制协议 (LACP) 或 IEEE 802.1ax。这种类型的分组通过将多个物理链路捆绑到有效带宽是物理链路总和的一个逻辑链路中来提高吞吐量。此类分组要求连接另一端上的交换机支持 LACP。必须正确配置交换机,以便分组正常工作。
通用中继:这也称为静态链路聚合,这种类型的分组提供与 IEEE 802.3ad/802.1ax 相同类型的绑定功能,但不使用 LACP。交换机不必支持 LACP,但必须得到正确配置,此类型的分组才能正常工作。
提醒:Broadcom 网络适配器支持这些类型的分组。Intel 网络适配器提供类似的功能,但使用不同的术语来描述组类型。某些操作系统(例如 Windows Server 2012)提供 NIC 分组功能,并且可能也会使用不同的术语。
无法设置 NIC 分组的情况。
- 如果将网卡用作 iDRAC 的共享 LOM
- 如果网卡用于网络启动。
- 如果网卡用于内核调试网络适配器 (KDNIC)。
- 使用以太网以外的技术(例如 WWAN、WLAN/Wi-Fi、蓝牙和 Infiniband)的 NIC,包括 Internet Protocol over Infiniband (IPoIB) NIC。
- 我们还建议网卡的速度必须相同。
Windows NIC 分组设置 Windows Server 2008/2012/2012 R2/2016/2019 的 NIC 分组
-
要创建 NIC 分组:
-
在服务器管理器中,单击“本地服务器”。
-
在“属性”窗格中,找到 NIC 分组,然后单击右侧的链接“已禁用”。“NIC 分组”对话框将打开。
-
“NIC 分组”对话框
-
图 2:Windows NIC 分组对话框
-
在“适配器和接口”中,选择要添加到 NIC 分组的网络适配器。
-
单击任务,然后单击添加到新组。
图 3:Windows 适配器和接口添加到新组。
6. 新分组对话框会打开并显示网络适配器和分组成员。在“分组名称”中,键入新 NIC 分组的名称。
图 4:Windows — 通过选择适配器创建 NIC 并创建分组名称。
7. 如果需要,展开其它属性,选择分组模式、负载平衡模式和备用适配器的值。通常,最高性能的负载平衡模式是动态。
图 5:Windows NIC 分组添加属性
8. 如果您想要为 NIC 分组配置或分配 VLAN 号,请单击主要分组界面右侧的链接。新分组界面对话框将打开。
图 6:Windows 默认 VLAN 成员
要配置 VLAN 成员身份,请单击特定 VLAN。在对话框的第一部分中键入 VLAN 信息。
图 7:特定于 Windows 的 VLAN 成员
10 单击 OK。
Hyper-V 主机上的 NIC 分组
如果您必须在 Hyper-V 主机上设置 NIC 分组,请参阅 Microsoft 文章在主机计算机上创建新的 NIC 分组
图 8:Windows 开始菜单 PowerShell 以管理员身份运行
PowerShell 说明
建议在操作系统 2012 和更高版本上使用 Microsoft 分组。
使用 PowerShell 创建网络分组
-
打开已升级 PowerShell 提示符。在 Windows® 10 任务栏搜索中,键入 PowerShell。按 W 和 S 键打开搜索。
-
您现在应该可以在顶部看到结果 Windows PowerShell。右键单击 Windows PowerShell 并选择以管理员身份运行。
-
如果您看到用户账户控制提示,单击是。
-
输入命令
new-NetLBFOTeam [TEAMNAME] "[NIC1]", "[NIC2]"
然后按 Enter 键。- [TEAMNAME] – 要为网络适配器分组提供的名称
- [NIC1] - 从上方找到的第一个网络适配器的名称
- [NIC2] - 从上方找到的第二个网络适配器的名称
图 8:PowerShell 命令
示例
new-NetLBFOTeam NIC-Team "NIC1" , "NIC2"
通过转至控制面板 > 网络和 Internet > 网络连接打开网络连接。
本文不适用于 AX-750
查看其他资源
更改产品
说明
以下文章提供了有关 Windows、VMware 和 Linux 中的 NIC 分组的信息。
- 什么是网络适配器分组?
- 设置 NIC 分组 Windows
- 设置 NIC 分组 VMware
- 设置 NIC 分组 Linux
什么是网络适配器分组(绑定)?
网络适配器分组是一个术语,用于描述组合多个网络连接以提高吞吐量或提供冗余的各种方法。网络接口卡 (NIC) 分组和板载 LAN (LOM) 分组。可为组织提供经济高效的方法,以快速轻松地增强网络可靠性和吞吐量。
网络接口卡 (NIC) 分组是在服务器中提供高可用性和容错的一种方法。
下面的示例表示这样一个 Web 服务器:带有两个 NIC,每个都有一个上行链路和一个下行链路连接。
两个网卡中的一个出现故障或已断开连接,但客户端的计算机连接保持连接。
图 1:2 NIC 分组网卡发生故障,但互联网连接仍然正常。
四种主要网络分组类型如下所示:
智能负载均衡 (SLB) 和故障切换:这种类型的分组在所有主适配器之间平衡网络流量。如果主适配器发生故障,其余的主适配器将继续平衡负载。如果所有主适配器发生故障,流量将继续使用待机适配器流动,而不会中断。当主适配器恢复在线状态后,流量继续流过它。
带有自动回退禁用的 SLB:这种类型的分组的运行方式与上述相同,但在恢复在线状态后,流量不会自动恢复到主适配器。
IEEE 802.3ad 动态链路聚合:也称为链路聚合控制协议 (LACP) 或 IEEE 802.1ax。这种类型的分组通过将多个物理链路捆绑到有效带宽是物理链路总和的一个逻辑链路中来提高吞吐量。此类分组要求连接另一端上的交换机支持 LACP。必须正确配置交换机,以便分组正常工作。
通用中继:这也称为静态链路聚合,这种类型的分组提供与 IEEE 802.3ad/802.1ax 相同类型的绑定功能,但不使用 LACP。交换机不必支持 LACP,但必须得到正确配置,此类型的分组才能正常工作。
提醒:Broadcom 网络适配器支持这些类型的分组。Intel 网络适配器提供类似的功能,但使用不同的术语来描述组类型。某些操作系统(例如 Windows Server 2012)提供 NIC 分组功能,并且可能也会使用不同的术语。
无法设置 NIC 分组的情况。
- 如果将网卡用作 iDRAC 的共享 LOM
- 如果网卡用于网络启动。
- 如果网卡用于内核调试网络适配器 (KDNIC)。
- 使用以太网以外的技术(例如 WWAN、WLAN/Wi-Fi、蓝牙和 Infiniband)的 NIC,包括 Internet Protocol over Infiniband (IPoIB) NIC。
- 我们还建议网卡的速度必须相同。
Windows NIC 分组设置 Windows Server 2008/2012/2012 R2/2016/2019 的 NIC 分组
要创建 NIC 分组:
-
在服务器管理器中,单击“本地服务器”。
-
在“属性”窗格中,找到 NIC 分组,然后单击右侧的链接“已禁用”。“NIC 分组”对话框将打开。
-
“NIC 分组”对话框
图 2:Windows NIC 分组对话框 -
在“适配器和接口”中,选择要添加到 NIC 分组的网络适配器。
-
单击任务,然后单击添加到新组。
图 3:Windows 适配器和接口添加到新组。 -
新分组对话框会打开并显示网络适配器和分组成员。在“分组名称”中,键入新 NIC 分组的名称。
图 4:Windows — 通过选择适配器创建 NIC 并创建分组名称。 -
如果需要,展开其它属性,选择分组模式、负载平衡模式和备用适配器的值。通常,最高性能的负载平衡模式是动态。
图 5:Windows NIC 分组添加属性 -
如果您想要为 NIC 分组配置或分配 VLAN 号,请单击主要分组界面右侧的链接。新分组界面对话框将打开。
图 6:Windows 默认 VLAN 成员 -
要配置 VLAN 成员身份,请单击特定 VLAN。在对话框的第一部分中键入 VLAN 信息。
图 7:特定于 Windows 的 VLAN 成员 -
单击 OK。
Hyper-V 主机上的 NIC 分组
如果您必须在 Hyper-V 主机上设置 NIC 分组,请参阅 Microsoft 文章在主机计算机上创建新的 NIC 分组
PowerShell 说明
建议在操作系统 2012 和更高版本上使用 Microsoft 分组。
使用 PowerShell 创建网络分组
-
打开已升级 PowerShell 提示符。在 Windows® 10 任务栏搜索中,键入 PowerShell。按 W 和 S 键打开搜索。
-
您现在应该可以在顶部看到结果 Windows PowerShell。右键单击 Windows PowerShell 并选择以管理员身份运行。
图 8:Windows 开始菜单 PowerShell 以管理员身份运行 -
如果您看到用户账户控制提示,单击是。
-
输入命令
new-NetLBFOTeam [TEAMNAME] "[NIC1]", "[NIC2]"
然后按 Enter 键。- [TEAMNAME] – 要为网络适配器分组提供的名称
- [NIC1] - 从上方找到的第一个网络适配器的名称
- [NIC2] - 从上方找到的第二个网络适配器的名称
图 8:PowerShell 命令示例
new-NetLBFOTeam NIC-Team "NIC1" , "NIC2"
通过转至控制面板 > 网络和 Internet > 网络连接打开网络连接。
VMware NIC 分组
VMware vSphere
NIC 分组可以共享部分或全部成员中的物理和虚拟网络之间的流量负载。以及在发生硬件故障或网络中断时提供被动故障转移。
有关如何在 VMware 上配置 NIC 分组的详细步骤,请参阅 VMware 知识库文章,在右上角选择 ESXi 版本。
在 vSphere 标准交换机或标准端口组上配置 NIC 分组、故障切换和负载均衡。
参考:ESXi 和 ESX 中的 NIC 分组 (1004088)
Linux 通道绑定接口
Linux 使管理员能够使用绑定内核模块和一个称为通道绑定接口的特殊网络接口,将多个网络接口一起绑定到单个通道中。通道绑定使两个或更多网络接口可用作一个,同时增加带宽并提供冗余。警告:不支持在没有网络交换机的情况下使用直接线缆连接进行绑定。如果没有网络交换机,此处介绍的故障转移机制不会按预期工作。
绑定不支持使用交叉线缆的直接连接。
活动-备份、平衡-tlb 和平衡-alb 模式不需要任何特定的交换机配置。其它绑定模式需要配置交换机以聚合链路。例如,Cisco 交换机需要用于模式 0、2 和 3 的 EtherChannel,但对于模式 4,则需要 LACP 和 EtherChannel。请参阅交换机随附的说明文件和 kernel-doc 软件包中的 bonding.txt 文件
检查是否已安装绑定内核模块。
在 Red Hat Enterprise Linux 6 中,默认情况下不加载绑定模块。您可以通过以 root 用户身份发出以下命令来加载模块:
~]# modprobe --first-time bonding
没有可视化输出指示模块未运行且现在已加载。此激活不会在系统重新启动时持续存在。有关永久模块加载的说明,请参阅 31.7 部分“持久模块加载”。如果使用 BONDING_OPTS 指令提供了正确的配置文件,则将根据需要加载绑定模块,因此不需要单独加载此模块。要显示有关模块的信息,请发出以下命令:
~]$ modinfo bonding
使用内核模块了解有关加载和卸载模块的信息。创建通道绑定接口
要创建通道绑定接口, /etc/sysconfig/network-scripts/
请在 /etc/sysconfig/network-scripts/ 目录中创建名为 ifcfg-bondN 的文件,将 N 替换为接口的编号,例如 0。
文件的内容可以与要绑定的接口类型(如以太网接口)相同。唯一的区别是 DEVICE 指令为 bondN,将 N 替换为接口的编号。可以添加 NM_CONTROLLED 指令,以防 NetworkManager 配置此设备。
示例 ifcfg-bond0 接口配置文件
下面是通道捆绑接口配置文件的示例:
DEVICE=bond0 IPADDR=192.168.1.1 NETMASK=255.255.255.0 ONBOOT=yes BOOTPROTO=none USERCTL=no NM_CONTROLLED=no BONDING_OPTS="bonding parameters separated by spaces"
从要控制的第一个接口获取绑定的 MAC 地址。它还可以使用 HWADDR 指令指定(如果需要)。如果您希望 NetworkManager 控制此接口,删除 NM_CONTROLLED=no 指令,或将其设置为 yes,然后添加 TYPE=Bond 和 BONDING_MASTER=yes。
创建通道绑定接口后,必须通过将 MASTER 和 SLAVE 指令添加到其配置文件来配置要绑定在一起的网络接口。每个通道绑定接口的配置文件可能几乎完全相同。
示例 ifcfg-ethX 绑定接口配置文件
如果两个以太网接口是通道绑定的,则 eth0 和 eth1 可以如下所示:
DEVICE=ethX BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes USERCTL=no NM_CONTROLLED=no
在此示例中,将 X 替换为接口的数字值。
配置好接口后,重新启动网络服务以使绑定正常运行。以 root 用户身份发出以下命令:
~]# service network restart
要查看绑定的状态,请通过以下列格式发出命令来查看 /proc/ 文件:
cat /proc/net/bonding/bondN
例如:
~]$ cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)Bonding Mode: load balancing (round-robin) MII Status: down MII Polling Interval (ms): 0 Up Delay (ms): 0 Down Delay (ms): 0
重要信息:在 Red Hat Enterprise Linux 6 中,绑定内核模块的接口特定参数必须在 ifcfg-bondN 接口文件中的 BONDING_OPTS="bonding parameters" 指令中指定为空格分隔的列表。请勿指定特定于 /etc/modprobe.d/bonding.conf
或废弃的 /etc/modprobe.conf 文件中的绑定的选项。max_bonds 参数并非特定于接口,因此,如果需要,应在 /etc/modprobe.d/bonding.conf
以下指定:
options bonding max_bonds=1
但是,将 ifcfg-bondN 文件与 BONDING_OPTS 指令一起使用时,不应设置 max_bonds 参数,因为此指令将导致网络脚本根据需要创建绑定接口。
在下次加载模块之前,对 /etc/modprobe.d/bonding.conf 所做的任何更改都将不会生效。必须先卸载正在运行的模块。
创建多个绑定
在 Red Hat Enterprise Linux 6 中,为每个绑定创建一个通道绑定接口,包括 BONDING_OPTS 指令。使用此配置方法可使多个绑定设备具有不同的配置。要创建多个通道绑定接口,请执行以下操作:
使用 BONDING_OPTS 指令创建多个 ifcfg-bondN 文件;此指令将使网络脚本根据需要创建绑定接口。
创建要绑定的接口配置文件或编辑要绑定的现有接口配置文件,并包含 SLAVE 指令。
通过 MASTER 指令,将要绑定的接口(从属接口)分配到通道绑定接口。
示例多 ifcfg-bondN 接口配置文件
下面是通道捆绑接口配置文件的示例:
DEVICE=bond N IPADDR=192.168.1.1 NETMASK=255.255.255.0 ONBOOT=yes BOOTPROTO=none USERCTL=no NM_CONTROLLED=no vBONDING_OPTS="bonding parameters separated by spaces"
在此示例中,将 N 替换为绑定接口的编号。例如,要创建两个绑定,请创建两个配置文件 ifcfg-bond0 和 ifcfg-bond1。
按照示例 ifcfg-ethX 绑定接口配置文件创建要绑定的接口,并根据需要使用 MASTER = bondN 指令将其分配到绑定接口。例如,从上面的示例继续,如果需要每个绑定两个接口,则对于两个绑定,创建四个接口配置文件,然后使用 MASTER=bond0 分配前两个,使用 MASTER=bond1 分配后两个。
相关文章:
如何在 PowerEdge 服务器上设置 NIC 分组
以下文章提供了有关 Windows、VMware 和 Linux 中的 NIC 分组的信息。 什么是网络适配器分组?设置 NIC 分组 Windows设置 NIC 分组 VMware设置 NIC 分组 Linux 什么是网络适配器分组(绑定)? 网络适配器分组是一个术语࿰…...
ES6入门---第三单元 模块四:Set和WeakSet
set数据结构: 类似数组,但是里面不能有重复值,如果有,只显示一个 set用法: let setArr new Set([a,b]); setArr.add(a); 往setArr里面添加一项 let setArr new Set().add(a).add(b).add(c); setArr.delete(b); 删除一项 setArr.ha…...
架构进阶:75页架构规划方法课件 【附全文阅读】
本文概述了一个关于架构规划方法的目录及其目的,重点介绍了基于联邦企业架构(FEAF)的架构建模方法,并提及了不同层面的架构建模方法以及培训的目的。以下是对该内容的简洁总结: **架构规划方法目录及其目的** 本文旨在…...
前端面经-VUE3篇(三)--vue Router(二)导航守卫、路由元信息、路由懒加载、动态路由
一、导航守卫 vue Router 中的 导航守卫(Navigation Guards) 是一个非常重要的功能,用于在路由切换过程中,拦截、控制、检查或延迟页面跳转。 你可以理解为: 🔐 “进门前的保安”,控制哪些页面…...
RTX-3090 Qwen3-8B Dify RAG环境搭建
RTX-3090 Qwen3-8B Dify RAG环境搭建 一、环境配置二、操作步骤1、创建容器2、下载`Qwen3-8B`和embedding模型3、安装`transformers`4、安装`vllm`5、安装`flash-attention`6、启动兼容OpenAI API的服务1、方案一:启动`vllm`服务【不支持多任务】2、方案二:Flask和PyTorch实现的…...
Circular Plot系列(三):【视频教程】复现NCS图表之高大上的单细胞UMAP环形图
高端复杂的UMAP复现: 这又是一个高大上且炫酷的单细胞UMAP图,展示的信息很多,有大类细胞和亚群,以及marker基因和cell count信息,还可以增加其他的分组信息等等。没错,看这个图就是circlize一层层画的。我们…...
MCP智能体多Agent协作系统设计(Multi-Agent Cooperation)
目录 🚀 MCP智能体多Agent协作系统设计(Multi-Agent Cooperation) 🌟 为什么需要多Agent协作? 🧠 多Agent协作系统架构设计 🛠️ 1. 构建基础智能体基类(Agent Base)…...
栈Stack
一 栈:先进后出 一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 Stack<Integer> sta…...
HTML01:HTML基本结构
HTML基本结构 <html> <head><meta charset"UTF-8"><title>我的第一个网页</title> </head> <body>我的第一个网页 </body> </html><body、</body等成对的标签,分别叫开发标签和闭合标签单独…...
QT聊天项目DAY07
1.Win配置和使用GRPC 1.1 克隆GRPC库 克隆GRPC git clone -b v1.34.0 https://gitee.com/mirrors/grpc-framework.git 查看Git有没有安装 没有安装 1.1.1 安装Git https://git-scm.com/ 一路next 添加Git的路径到系统环境变量下 我这次没用管理员权限,并且也没…...
2025年PMP 学习三
4.2制定项目管理计划 4. 项目管理计划 - 内容(输出) 项目目标的制定原因: 3个基准(范围基准、进度基准、成本基准) 子管理计划:范围、需求、进度、成本、质量、资源、沟通、风险、采购等管理计划…...
软考-软件设计师中级备考 10、文件管理、设备管理
一、 文件管理 1、文件目录 文件控制块(FCB):是操作系统为管理文件而设置的数据结构,包含了文件的基本信息(如文件名、文件大小、文件类型等)、存取控制信息(如文件所有者的权限、其他用户的权…...
Linux环境下的进程创建-fork函数的使用, 进程退出exit和_exit的区别,以及进程等待waitpid和status数据的提取方法
目录 一、进程创建 1.fork函数 1)进程调用fork函数是如何创建子进程的 2)代码示范 2.写时拷贝 二、进程退出 1.退出码 1)什么是退出码? 2)为什么要有退出码? 3)退出码是怎么做到的? …...
【数据结构与算法】常见排序算法详解(C++实现)
目录 一、排序的基本概念 二、插入排序 2.1 直接插入排序 2.2 折半插入排序 2.3 希尔排序 三、交换排序 3.1 冒泡排序 3.2 快速排序 四、选择排序 4.1 简单选择排序 4.2 堆排序 五、归并排序 六、基数排序 七、计数排序 结语 一、排序的基本概念 排序 就是重新…...
STM32GPIO输入实战-按键key模板及移植
STM32GPIO输入实战-按键key模板及移植 一,按键模板展示二,按键模板逻辑1,准备工作:头文件与全局变量2,读取硬件状态:key_read_raw()3,核心处理:key_process_simple() 的四行代码 三,…...
LeetCode 1128.等价多米诺骨牌对的数量:计数
【LetMeFly】1128.等价多米诺骨牌对的数量:计数 力扣题目链接:https://leetcode.cn/problems/number-of-equivalent-domino-pairs/ 给你一组多米诺骨牌 dominoes 。 形式上,dominoes[i] [a, b] 与 dominoes[j] [c, d] 等价 当且仅当 (a …...
Spring MVC设计与实现
DispatcherServlet的初始化与请求处理流程 初始化阶段 Servlet 生命周期触发:当 Web 容器(如 Tomcat)启动时,根据注解/配置,DispatcherServlet 的 init() 方法被调用。 初始化 WebApplicationContext 根 WebApplicat…...
日语学习-日语知识点小记-进阶-JLPT-N1阶段(1):语法单词
日语学习-日语知识点小记-进阶-JLPT-N1阶段(1):语法单词 1、前言(1)情况说明(2)工程师的信仰(3)高级语法N1语法和难点一、N1语法学习内容(高级语法ÿ…...
stm32week14
stm32学习 十.GPIO 2.基本结构 基本结构: F1与其它的的最大区别是上下拉电阻的位置 施密特触发器是一种整形电路,可以将非标准方波,整形成方波 图中MOS管的输出规则: 3.8中工作模式 ①输入浮空: 上下拉电阻均不工…...
WPF中Binding
绑定ViewModel中的数据 添加数据上下文 方法一:在XAML中添加 <Window.DataContext><local:MainWindowViewModel /> </Window.DataContext>方法二:在界面层的cs文件中添加 this.DataContext new MainWindowViewModel();绑定 publ…...
Google Agent space时代,浅谈Agent2Agent (A2A) 协议和挑战!
如果说去年Google Cloud大会大家还在数“AI”这个词被提了多少次,那么今年,绝对是“Agent”的主场!开发者主题演讲几乎被它“刷屏”,展区的许多 Demo 也都号称是 Agent 应用。 但我得诚实地说,大会现场关于 Agents 的 …...
爬虫的应用
在自然语言处理(NLP)领域,文本数据的预处理是至关重要的基础环节。它如同工匠雕琢璞玉前的打磨工作,直接影响后续模型分析与挖掘的效果。本文将基于 Python,以电商平台的差评和优质评价文本数据为例,详细展…...
力扣面试150题--相同的树
Day 41 题目描述 做法 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right…...
Java后端开发day40--异常File
(以下内容全部来自上述课程) 异常 异常:异常就是代表程序出现的问题 1. 异常的分类 1.1 Error 代表的是系统级别的错误(属于严重问题) 系统一旦出现问题,sun公司会把这些错误封装成Error对象。 Error…...
集成算法学习
集成算法通过组合多个弱学习器提升模型性能,以下是核心内容详解: 一、核心思想 - 组合优势:结合多个简单模型(如决策树),通过“少数服从多数”或“加权平均”等策略,降低方差、偏差或过拟合风险…...
工业认知智能:从数据分析到知识创造
工业认知智能:从数据分析到知识创造 引言 当前制造业面临的知识管理困境令人震惊:68%的工艺知识存储于老员工头脑中,30%的企业因知识传承断层导致质量事故。麦肯锡研究显示,应用认知智能技术的企业,其工艺创新速度提升3-5倍。本文将系统阐述工业认知智能的"感知-理…...
8.1 Python+Docker+企业微信集成实战:自动化报告生成与CI/CD部署全攻略
Python+Docker+企业微信集成实战:自动化报告生成与CI/CD部署全攻略 关键词:PDF报告生成, Word文档自动化, 企业微信集成, Docker容器化, CI/CD流水线 1. 多格式报告生成实战 通过扩展报告输出格式,满足不同用户的文档需求。我们使用Python生态的成熟库实现PDF/Word生成,并…...
25.5.4数据结构|哈夫曼树 学习笔记
知识点前言 一、搞清楚概念 ●权:___________ ●带权路径长度:__________ WPL所有的叶子结点的权值*路径长度之和 ●前缀编码:____________ 二、构造哈夫曼树 n个带权值的结点,构造哈夫曼树算法: 1、转化成n棵树组成的…...
统计学中的p值是什么?怎么使用?
李升伟 整理 在统计学中,p值(p-value)是帮助研究者判断假设检验结果是否具有统计显著性的重要指标。以下是关于p值的详细解释和使用方法: 1. p值的定义 p值表示在原假设(H0)为真的情况下,观察…...
22:一维码与二维码区别
一维码(条形码) 一维条码即指条码条和空的排列规则,常用的一维码的码制包括:EAN码、39码、交叉25码、UPC码、128码、93码,ISBN码,及Codabar(库德巴码)等。 条码是由一组规则排列的条…...
Java学习手册:SQL 优化技巧
一、SQL 查询优化 选择合适的索引列 :索引可以显著提高查询速度,但需要选择合适的列来创建索引。通常,对于频繁作为查询条件的列、连接操作的列以及排序或分组操作的列,应该考虑创建索引。例如,在一个订单表中…...
《Vue3学习手记8》
vue3中的一些API shallowRef ( ) 和shallowReactive ( ) shallowRef (浅层响应式) 1.作用:创建一个响应式数据,但只对顶层属性进行响应式处理。 2.用法: const originalref(...) const original2shallowRef(original) 3.特点:只跟踪引用值的变化,不关心…...
平衡二叉搜索树模拟实现1-------AVL树(插入,删除,查找)
本章目标 1.AVL树的概念 2.AVL树的模拟实现 1.AVL树的概念 1.AVL树是最先被发明的平衡二叉搜索树,AVL树是一颗空树或者具有以下的性质 它的左右子树都是AVL树,并且左右高度差不超过1,AVL树是一颗高度平衡二叉搜索树,通过高度差去控制平衡 2.为什么高度差是1? 当结点个数为8…...
运算放大器的主要技术指标
运放(运算放大器)是一种基础电子器件,具有输入阻抗高、开环放大倍数大、输入端电流小、同相端与反相端电压几乎相等等特点。在选型时,需要考虑技术指标如输入失调电压、输入失调电压漂移、输入失调电流、共模抑制比、压摆率、建立…...
51单片机入门教程——每个音符对应的重装载值
前言 本教程基于B站江协科技课程进行个人学习整理,专为拥有C语言基础的零基础入门51单片机新手设计。既帮助解决因时间差导致的设备迭代调试难题,也助力新手快速掌握51单片机核心知识,实现从C语言理论到单片机实践应用的高效过渡 。...
新一代智能座舱娱乐系统软件架构设计文档
一 文档概述 本文档描述了基于Android系统与多模态大模型融合的新一代智能座舱娱乐系统的软件架构设计。该系统将通过深度学习的个性化适配、多模态感知融合和持续自进化能力,重新定义人车交互体验。 二 整体架构设计 2.1 分层架构视图 系统采用五层垂直架构与三…...
深度优先搜索(DFS)与广度优先搜索(BFS):图与树遍历的两大利器
深度优先搜索(DFS)与广度优先搜索(BFS):图与树遍历的两大利器 在数据结构与算法的世界中,深度优先搜索(DFS)和广度优先搜索(BFS)是两种非常经典的遍历算法。…...
比较 TensorFlow 和 PyTorch
TensorFlow和PyTorch是深度学习领域中两个非常流行的开源机器学习框架,下面为你详细介绍。 1. 历史与背景 TensorFlow:由Google开发和维护,于2015年开源。因其强大的生产能力和广泛的工具支持,在工业界得到了广泛应用。PyTorch&…...
jeecg查询指定时间
jeecg查询指定时间 ApiOperation(value"请假表-分页列表查询", notes"请假表-分页列表查询")GetMapping(value "/list")public Result<IPage<MlLeaveRequest>> queryPageList(MlLeaveRequest mlLeaveRequest,RequestParam(name&qu…...
无人机视觉:连接像素与现实世界 —— 像素与GPS坐标双向转换指南
在无人机航拍应用中,一个核心的需求是将图像上的某个点与现实世界中的地理位置精确对应起来。无论是目标跟踪、地图测绘还是农情监测,理解图像像素与其对应的经纬度(GPS坐标)之间的关系至关重要。本文将详细介绍如何实现单个像素坐…...
php study 网站出现404 - Page Not Found 未找到
最近在用php study搭建本地网站时,出现了404 - Page Not Found 未找到的情况,解决方式如下: 第一种:在wp 后台固定链接设置中修改链接形式 第二种:没有安装伪静态! 小皮面板中 设置--配置文件--编辑你所搭建的网站 在红色框框处…...
互联网大厂Java求职面试:核心技术点深度解析
互联网大厂Java求职面试:核心技术点深度解析 在互联网大厂的Java岗位面试中,技术总监级别的面试官通常会从实际业务场景出发,层层深入地考察候选人的技术能力。本文通过一个严肃专业的技术总监与搞笑但有技术潜力的程序员郑薪苦之间的互动对…...
【Java idea配置】
IntelliJ IDEA创建类时自动生成注释 /** * program: ${PROJECT_NAME} * * since: jdk1.8 * * description: ${description} * * author: ${USER} * * create: ${YEAR}-${MONTH}-${DAY} ${HOUR}:${MINUTE} **/自动导入和自动移除无用导入 idea彩色日志不生效 调试日志输出 在…...
[GESP202503 四级] 二阶矩阵c++
题目描述 小 A 有一个 n 行 m 列的矩阵 A。 小 A 认为一个 22 的矩阵 D 是好的,当且仅当 。其中 表示矩阵 D 的第 i 行第 j 列的元素。 小 A 想知道 A 中有多少个好的子矩阵。 输入 第一行,两个正整数 n,m。 接下来 n 行,每行 m 个整数…...
PyQt5基本介绍
PyQt5是基于Digia公司强大图形框架Qt5的python接口,由一组python模块构成。是一个用于创建桌面应用程序的Python库,它是Qt图形用户界面工具包的Python绑定。 Qt是一个跨平台的C库,提供了一套丰富的工具和功能,用于开发图形用户界…...
Spring AI 实战:第十章、Spring AI RAG之博学多才
引言:从“博闻强记”到“博学多才” 在人工智能的发展历程中,大语言模型(LLM)已经展现了惊人的“博闻强记”能力——它们能写诗、编码、解答常识问题,甚至模拟人类对话。然而,当面对专业领域知识或实时更新的信息时,这些模型往往会暴露其局限性:要么“一本正经地胡说八…...
Runnable 组件生命周期监听器与使用场景
Runnable 生命周期监听器 1.1 监听机制演进 在 LangChain 框架中,Runnable 组件提供两种监控方案: 传统模式:通过 config callbacks 参数传递回调配置增强模式:使用 with_listeners() 方法实现生命周期订阅 …...
五、shell脚本--函数与脚本结构:搭积木,让脚本更有条理
随着我们的脚本越来越长、越来越复杂,直接把所有命令堆在一起会变得难以阅读和维护。这时候,函数 (Function) 就派上大用场了! 函数就像一个可以重复使用的代码块,你可以给它起个名字,然后在脚本的任何地方通过名字来…...
单调栈与单调队列(c艹)、可视化Qt?
单调栈和单调队列的区别在于 ChatGLM 单调栈和单调队列都是数据结构中用于处理序列问题的工具,它们在处理问题时具有不同的特性和应用场景。以下是单调栈和单调队列的主要区别: 定义: 单调栈:是一种特殊的栈,其中的元…...
哈夫曼树和哈夫曼编码
哈夫曼编码一般用来对字符串进行编码格式的表示。其中要克服的最大问题,莫过于就是一串由0或者1组成的编码,你无法区分哪些01组成的编码部分是属于哪些字符的,因此哈夫曼编码的出现解决了这个问题。 在介绍哈夫曼编码之前,先介绍…...