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

Ubuntu 22虚拟机【网络故障】快速解决指南

Ubuntu22虚拟机突然无法连接网络了,以下是故障排除步骤记录。

Ubuntu 22虚拟机网络故障快速解决指南

当在虚拟机中安装的 Ubuntu 22 系统出现 ping: connect: 网络不可达ping: www.baidu.com: 域名解析出现暂时性错误的报错时,通常意味着虚拟机无法正常连接到外部网络。这可能是由虚拟机软件的网络设置、Ubuntu 内部的网络配置或宿主机的网络状况引起的。

本教程将引导一步步排查并解决这些问题。

所需环境与准备

  • 安装了 Ubuntu 22 的虚拟机(如 VirtualBox, VMware Workstation/Fusion)。
  • 宿主机(运行虚拟机的电脑)能够正常访问互联网。
  • 具备基本的 Linux 命令行操作知识。

排查和解决步骤

第一步:检查虚拟机软件的网络适配器设置 (在您的宿主机上操作)

这是最常见的问题原因。错误的虚拟机网络配置会导致虚拟机无法与宿主机或外部网络建立连接。

  1. 关闭您的Ubuntu虚拟机。
  2. 打开您的虚拟机软件 (如 VirtualBox 或 VMware)。
  3. 找到您的 Ubuntu 虚拟机,选中它,然后进入设置 (Settings)
  4. 导航到“网络 (Network)”或“网络适配器 (Network Adapter)”部分。
  5. 检查并确认以下关键设置:
    • 适配器已启用/已连接 (Adapter Enabled/Connected): 确保“启用网络适配器”或“已连接”选项是勾选的。
    • “数据线已连接 (Cable connected)”或“在启动时连接 (Connect at power on)”: 确保这个选项是勾选的。
    • 连接方式 (Attached to/Network Connection Type):
      • 推荐首选:NAT (网络地址转换)。 这是最常用和最简单的设置,它允许虚拟机通过宿主机的网络连接访问互联网,无需复杂的配置。虚拟机通常能自动获取IP地址。
      • 备选方案:桥接模式 (Bridged Adapter)。 如果NAT不起作用,或者您希望虚拟机在您的物理网络中获得一个独立的IP地址(就像一台真实的电脑一样),可以尝试“桥接模式”。选择此项后,请确保选择正确的宿主机物理网卡进行桥接。
  6. 保存设置并重新启动Ubuntu虚拟机。
第二步:在Ubuntu虚拟机内部检查网络接口状态 (使用 ip a)

虚拟机重启后,进入Ubuntu系统,打开终端,执行以下命令来检查网络接口的状态。

  1. 检查网卡状态和IP地址:

    ip a
    
    • 查看结果: 寻找一个网络接口(通常是 ens33enp0s3eth0 或类似名称)。
    • 确认:
      • 该接口后面是否有 UP,BROADCAST,RUNING,MULTICAST 字样,表明网卡处于运行状态。
      • 是否有 inet 行,后面跟着一个IP地址(例如 inet 192.168.x.x/24inet 10.0.x.x/24)。
    • 常见问题: 如果您的网卡显示 state DOWN 且没有 inet IP 地址,说明网卡未被激活或未获取到IP。这正是您最初遇到的问题。
第三步:手动激活网卡 (如果网卡是 DOWN 状态)

如果第二步中发现您的网卡(例如 ens33)显示 state DOWN 且没有 IPv4 地址,需要手动将其激活。

  1. 手动将网卡激活:

    在Ubuntu终端中输入以下命令(请将

    sudo ip link set <接口名称> up
    

    注:<接口名称> # 替换为实际的网卡名称,例如 ens33

  2. 再次检查网卡状态:

    激活后,等待几秒钟,然后再次运行

    ip a
    

    命令:

    ip a
    
    • 预期结果: 此时,网卡(例如 ens33)应该显示 UP,BROADCAST,RUNNING,MULTICAST。这表示网卡已激活。
    • 注意: 此时它可能仍然没有 IPv4 地址 (inet 行),这是正常现象,我们将在下一步解决。
第四步:强制获取 IPv4 地址 (DHCP 续租)

即使网卡已处于 UP 状态,如果没有获取到 IPv4 地址,仍然无法进行网络通信。我们需要强制网卡通过 DHCP 协议请求一个 IP 地址。

  1. 释放当前的IP地址(如果有的话)并重新获取:

    在Ubuntu终端中输入以下命令(别忘了将 <接口名称> 替换为实际网卡名称):

    sudo dhclient -r <接口名称>
    sudo dhclient <接口名称>
    
    • sudo dhclient -r <接口名称>:这个命令会释放当前网卡可能持有的任何 DHCP 租约。
    • sudo dhclient <接口名称>:这个命令会强制网卡向 DHCP 服务器请求一个新的 IP 地址。
  2. 再次检查网卡状态和IP地址:

    执行完上述两条命令后,等待几秒钟,然后再次运行 ip a 命令,查看网卡的状态:

    ip a
    
    • 预期结果: 应该能看到在自己的网卡(例如 ens33)下方出现了一行 inet,后面跟着一个有效的 IPv4 地址(例如 inet 192.168.220.128/24),这表明已经成功获取到了 IP 地址。
第五步:检查默认网关和 DNS 服务器 (确认基础网络配置)

现在虚拟机就有 IP 地址了,接下来我们需要确保它有正确的路由和 DNS 配置来访问互联网。

  1. 检查默认网关 (Default Gateway):

    运行以下命令来查看您的默认网关地址:

    ip r
    
    • 查看结果: 寻找一行以 default via 开头的记录,例如 default via 192.168.220.1 dev ens33。这里的 192.168.220.1 就是自己的默认网关地址。

    • 尝试 ping 自己的默认网关:

      ping <自己的网关IP地址>
      # 例如:ping 192.168.220.1
      
      • 预期结果: 如果能正常ping通,说明自己的虚拟机与虚拟路由器之间连接正常。
  2. 检查 DNS 服务器 (域名解析):

    即使可以 ping 通 IP 地址,如果 DNS 服务器有问题,则仍然无法通过域名访问网站。

    resolvectl status
    
    • 查看结果: 在输出中找到自己的网络接口(如 ens33),在其下方查找 DNS Servers 字段。它应该显示至少一个DNS服务器的IP地址(例如 8.8.8.8 或自己的路由器的IP)。

    • 如果DNS服务器为空或不正确,或者 ping 8.8.8.8 成功但 ping www.baidu.com 仍然失败:

      可以尝试手动编辑

      /etc/resolv.conf
      

      来添加公共 DNS 服务器。

      sudo nano /etc/resolv.conf
      

      在文件中添加或修改为:

      nameserver 8.8.8.8
      nameserver 114.114.114.114
      

      保存文件(按

      Ctrl+O
      

      ,回车,然后按

      Ctrl+X
      

      退出)。

第六步:最终验证网络连接

完成上述所有步骤后,再次尝试ping以验证网络是否完全恢复。

  1. 测试外部 IP 地址连通性:

    ping 8.8.8.8
    
    • 预期结果: 应该能看到数据包正常返回。
  2. 测试域名解析和外部网络连通性:

    ping www.baidu.com
    
    • 预期结果: 应该能看到 www.baidu.com 被解析成一个 IP 地址并且数据包正常返回。
第七步:配置静态IP(可选)

可参考教程:(2024年最新)Linux(Ubuntu) 中配置静态IP(包含解决每次重启后配置文件失效问题)

  1. 打开 netplan 配置文件
# 找到配置文件名
hua@hua-vm:~$ ls /etc/netplan/
01-network-manager-all.yaml# 打开配置文件
hua@hua-vm:~$ sudo vim /etc/netplan/01-network-manager-all.yaml
  1. 编辑 netplan 配置文件
network:version: 2renderer: networkd   # 使用 systemd-networkd 作为后端,对于静态 IP 配置,networkd 通常更为直接和稳定# renderer: NetworkManager   # 使用 NetworkManager 作为后端ethernets:ens33:dhcp4: false            # 使用静态 IP addresses:- 192.168.220.128/24   # 静态 IP 和子网掩码routes:- to: defaultvia: 192.168.220.2   # 默认路由nameservers:addresses:- 8.8.8.8                 # DNS 服务器 1- 114.114.114.114         # DNS 服务器 2

执行以下命令将权限设置为安全值:

sudo chmod 600 /etc/netplan/01-static-net.yaml
  1. 处理潜在的配置文件冲突

方案 (推荐 - 如果只使用静态 IP):删除或禁用默认的网络管理文件。

​ 如果自己的 01-static-net.yaml 已经包含了所有必要的配置(包括 renderer: NetworkManager,因为自 己的静态配置依赖它),那么默认的 01-network-manager-all.yaml 文件可能会导致冲突,或者至少是多余 的。可以将其删除或重命名以禁用它:

# 备份着不用
sudo mv /etc/netplan/01-network-manager-all.yaml /etc/netplan/01-network-manager-all.yaml.backup
# 或者直接删除,如果确定不需要它:
# sudo rm /etc/netplan/01-network-manager-all.yaml

​ 这样做可以确保自己的 01-static-net.yaml唯一控制 ens33 的 Netplan 配置。

  1. 重新应用 Netplan 配置

    在完成权限修正和可能的冲突处理后,再次尝试应用配置:

# 先检测配置,再根据提示应用配置
sudo netplan try# 或者,如果确信配置无误,可以直接应用(不提供回滚选项)
sudo netplan apply

额外提示与注意事项

  • 宿主机网络检查: 确保自己的宿主机(运行虚拟机的电脑)可以正常访问互联网。如果宿主机本身没有网络,虚拟机自然也无法上网。
  • 防火墙: 极少数情况下,Ubuntu 内置的防火墙 UFW 可能会阻止连接。自己可以临时禁用它进行测试:sudo ufw disable。如果网络恢复,说明是防火墙问题,需要配置防火墙规则而不是禁用它。测试完记得 sudo ufw enable 重新启用。
  • Netplan 配置: Ubuntu 22.04 使用 Netplan 管理网络配置,文件通常在 /etc/netplan/*.yaml。虽然我们的方法通过 dhclient 解决了问题,但如果将来出现持久性问题,可以检查这些文件内容(如 cat /etc/netplan/*.yaml),确保 dhcp4: true 配置正确。不过,在桌面版Ubuntu上,通常由 NetworkManager 负责管理,其配置文件非常简洁。
  • 重启虚拟机: 在某些情况下,简单地重启整个虚拟机可以解决一些临时的网络问题。

希望这份详细的教程能帮助您顺利解决 Ubuntu 虚拟机网络问题!

相关文章:

Ubuntu 22虚拟机【网络故障】快速解决指南

Ubuntu22虚拟机突然无法连接网络了&#xff0c;以下是故障排除步骤记录。 Ubuntu 22虚拟机网络故障快速解决指南 当在虚拟机中安装的 Ubuntu 22 系统出现 ping: connect: 网络不可达 和 ping: www.baidu.com: 域名解析出现暂时性错误的报错时&#xff0c;通常意味着虚拟机无法…...

SwaggerLogger.java

package further.config;import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.CommandLineRunner; import org.springframework.context.annotation.Configuration; import org.springframework.util.StringUtils;/*** swagger启动ap…...

基于SpringBoot的在线教育管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…...

企业内训|智能调控系统算法与优化——某汽车厂商

5月9日&#xff0c;东北某市&#xff0c;TsingtaoAI团队为某汽车厂商的智能驾驶业务和研发团队交付“智能调控系统算法与优化”课程。 本课程系统化解析智能调控系统的核心算法原理与前沿优化技术&#xff0c;深度融合经典控制、现代控制及模型预测控制&#xff08;MPC&#x…...

Web 实时通信技术:WebSocket 与 Server-Sent Events (SSE) 深入解析

一、WebSocket&#xff1a; &#xff08;一&#xff09;WebSocket 是什么&#xff1f; WebSocket 是一种网络通信协议&#xff0c;它提供了一种在单个 TCP 连接上进行全双工通信的方式。与传统的 HTTP 请求 - 响应模型不同&#xff0c;WebSocket 允许服务器和客户端在连接建立…...

一个网球新手的学习心得

一个网球新手的学习心得 握拍正手反手发球 网球新手学习的几个重要点就是握拍、正手、反手&#xff0c;还有发球。 握拍 不管是发球还是拉球&#xff0c;首先要注意握拍的方式。 正手的话&#xff0c;一般是右手握住球拍柄&#xff0c;掌心对着球拍柄宽的一面&#xff0c;食…...

12、电子电路设计与PCB布局组件 (概念) - /设计与仿真组件/pcb-layout-tool

76个工业组件库示例汇总 电子电路设计与 PCB 布局组件 (概念演示) 概述 这是一个交互式的 Web 组件&#xff0c;用于演示电子电路原理图设计和 PCB 布局的基本概念。用户可以从元件库中选择元件&#xff0c;在原理图和 PCB 画布上放置、移动&#xff0c;进行原理图连线&…...

[特殊字符] 免税商品优选购物商城系统 | Java + SpringBoot + Vue | 前后端分离实战项目分享

一、项目简介 本项目为一款功能完备的 免税商品优选购物商城系统&#xff0c;采用 Java 后端 Vue 前端的主流前后端分离架构&#xff0c;支持用户、商家、管理员三类角色&#xff0c;满足商品浏览、下单、商家管理、后台运营等多项功能&#xff0c;适用于实际部署或作为毕业设…...

小土堆pytorch--torchvision中的数据集的使用dataloader的使用

torchvision中的数据集的使用&dataloader的使用 一级目录二级目录三级目录 1 torchvision 中的数据集的使用1.1 对与CIFAR - 10数据集的介绍1.2 数据集加载代码1.3 使用transform加载代码 2 DataLoader的使用2.1 DataLoader的作用1. 数据读取2. 数据预处理3. 批量处理4. 并…...

【RabbitMQ】 RabbitMQ高级特性(一)

文章目录 一、消息确认1.1、消息确认机制1.2、手动确认方法1.2.1、AcknowledgeMode.NONE1.2.2、AcknowledgeMode.AUTO1.3.3、AcknowledgeMode.MANUAL 二、持久性2.1、 交换机持久化2.2、队列持久化2.3、消息持久化 三、发送方确认3.1、confirm确认模式3.2、return退回模式3.3、…...

优化理赔数据同步机制:从4小时延迟降至15分钟

优化理赔数据同步机制&#xff1a;从4小时延迟降至15分钟 1. 分析当前同步瓶颈 首先诊断当前同步延迟原因&#xff1a; -- 检查主从复制状态&#xff08;在主库执行&#xff09; SHOW MASTER STATUS; SHOW SLAVE HOSTS;-- 在从库执行检查复制延迟 SHOW SLAVE STATUS\G -- 关…...

lampiao靶场渗透

lampiao https://www.vulnhub.com/entry/lampiao-1,249/ 1&#xff0c;将两台虚拟机网络连接都改为NAT模式 2&#xff0c;攻击机上做namp局域网扫描发现靶机 nmap -sn 192.168.23.0/24 那么攻击机IP为192.168.23.182&#xff0c;靶场IP192.168.23.245 3&#xff0c;对靶机进行端…...

云计算中的虚拟化:成本节省、可扩展性与灾难恢复的完美结合

云计算中虚拟化的 4 大优势 1. 成本效益 从本质上讲&#xff0c;虚拟化最大限度地减少了硬件蔓延。团队可以将多个虚拟机整合到单个物理主机上&#xff0c;而不是为每个工作负载部署单独的服务器。这大大减少了前期硬件投资和持续维护。 结果如何&#xff1f;更低的功耗、更低…...

jenkins built-in节点如何删除

1 概述 在 Jenkins 中&#xff0c;默认的 “Built-In” 节点&#xff08;即主节点/master&#xff09;无法直接删除&#xff0c;因为它是 Jenkins 的核心组件。它的存在&#xff0c;有时会造成困扰&#xff0c;因为部分作业调度到其上&#xff0c;由于 “Built-In” 节点的环境…...

QSS样式表的选择器

一个最简单的样式设置格式如下 QWidget {background-color: black; }将样式应用到对应的控件 QWidget* w new QWidget; w->setStyleSheet("QWidget {background-color: black;}");样式表中控件的设置有多种方式 通用选择器 /*匹配所有控件*/ *{}类型选择器 …...

Python多环境管理指南

Python/UV 多环境管理指南 在Python开发中&#xff0c;管理多个项目环境是一个常见需求。以下是使用Python内置工具和UV&#xff08;一种新兴的Python包管理器&#xff09;进行多环境管理的方法。 1. 使用Python内置venv管理多环境 创建虚拟环境 python -m venv /path/to/y…...

Java从入门到精通 - 数组

数组 此笔记参考黑马教程&#xff0c;仅学习使用&#xff0c;如有侵权&#xff0c;联系必删 文章目录 数组1. 认识数组2. 数组的定义和访问2.1 静态初始化数组2.1.1 数组的访问2.1.1 定义代码实现总结 2.1.2 数组的遍历2.1.2.1 定义代码演示总结 案例代码实现 2.2 动态初始化…...

《Vuejs 设计与实现》第 4 章(响应式系统)( 下 )

目录 4.6 避免无限递归循环 4.7 调度执行 4.8 计算属性 computed 与 lazy 4.9 watch 的实现原理 4.10 立即执行的 watch 与回调执行时机 4.11 过期副作用与竞态问题 总结 4.6 避免无限递归循环 在实现完善响应式系统时&#xff0c;需要注意避免无限递归循环。以以下代码…...

在 Windows 上为 Intel UHD Graphics 编译 OpenCL 程序

如果您使用的是 Intel UHD Graphics 集成显卡,以下是完整的 OpenCL 开发环境配置指南: 1. 准备工作 确认硬件支持 首先确认您的 Intel UHD Graphics 支持 OpenCL: 大多数第6代及以后的 Intel Core 处理器(Skylake 及更新架构)都支持 OpenCL 2.1+ 运行 clinfo 工具可以查…...

C++自学笔记 makefile

本博客参考南科大于仕琪教授的讲解视频和这位同学的学习笔记&#xff1a; 参考博客 感谢两位的分享。 makefile 的作用 用于组织大型项目的编译&#xff0c;是一个一键编译项目的脚本文件。 本博客通过四个版本的makefile逐步说明makefile的使用 使用说明 四个演示文件 …...

【PDF】使用Adobe Acrobat dc添加水印和加密

【PDF】使用Adobe Acrobat dc添加水印和加密 文章目录 [TOC](文章目录) 前言一、添加保护加密口令二、添加水印三、实验四、参考文章总结 实验工具&#xff1a; 1.Adobe Acrobat dc 前言 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、添加保护加…...

客服系统重构详细计划

# 客服系统重构详细计划 ## 第一阶段&#xff1a;系统分析与准备工作 ### 1. 代码审查和分析 (1-2周) - 全面分析现有代码结构 - 识别代码中的问题和瓶颈 - 理解当前系统的业务逻辑 - 确定可重用的组件 - 制作系统功能清单 ### 2. 技术栈升级准备 (1周) - 升级PHP版本到7…...

基于VSCode + PlatformIO平台的ESP8266的DS1302实时时钟

基于ESP8266的DS1302实时时钟系统开发 一、项目概述 本实验通过ESP8266开发板实现&#xff1a; DS1302实时时钟模块的驱动系统时间同步与维护串口实时时间显示RTC模块状态监控 硬件组成&#xff1a; NodeMCU ESP8266开发板DS1302实时时钟模块CR2032纽扣电池&#xff08;备…...

Flink 系列之十四 - Data Stream API的自定义数据类型

之前做过数据平台&#xff0c;对于实时数据采集&#xff0c;使用了Flink。现在想想&#xff0c;在数据开发平台中&#xff0c;Flink的身影几乎无处不在&#xff0c;由于之前是边用边学&#xff0c;总体有点混乱&#xff0c;借此空隙&#xff0c;整理一下Flink的内容&#xff0c…...

【数据结构】线性表

目录 1.1 线性表的概念 1.1.1 线性表的抽象数据类型 1.1.2 线性表的存储结构 1.1.3 线性表运算分类 1.2 顺序表 1.2.1 顺序表的类定义 1.2.2 顺序表的运算实现 1. 顺序表的检索 2. 顺序表的插入 3. 顺序表的删除 1.3 链表 1.3.1 单链表 1. 链表的检索 2. 链表的插…...

大疆卓驭嵌入式面经及参考答案

FreeRTOS 有哪 5 种内存管理方式&#xff1f; heap_1.c&#xff1a;这种方式简单地在编译时分配一块固定大小的内存&#xff0c;在整个运行期间不会进行内存的动态分配和释放。它适用于那些对内存使用需求非常明确且固定&#xff0c;不需要动态分配内存的场景&#xff0c;优点是…...

【网络】:传输层协议 —— UDP、TCP协议

目录 UDP协议 UDP协议的核心特点 UDP协议格式 UDP的缓冲区 基于UDP的应用层协议 TCP协议 TCP协议的核心特点 TCP协议格式 确认应答机制 连接管理机制 三次握手 四次挥手 流量控制 滑动窗口 拥塞控制 基于字节流 粘包和拆包 可靠性和性能保障 基于TCP的应用层…...

每日c/c++题 备战蓝桥杯(洛谷P1115 最大子段和)

洛谷P1115 最大子段和 题解 题目描述 最大子段和是一道经典的动态规划问题。题目要求&#xff1a;给定一个包含n个整数的序列&#xff0c;找出其中和最大的连续子序列&#xff0c;并输出该最大和。若所有数均为负数&#xff0c;则取最大的那个数。 输入格式&#xff1a; 第…...

Python与矢量网络分析仪3671E:通道插损自动化校准(Vscode)

一、背景介绍 DUT集成了多个可调衰减的射频通道&#xff0c;可调衰减由高精度DAC和VVA构成&#xff0c;使用中电思仪的3671E矢量网络分析仪测试DUT的S参数&#xff0c;并自动化调整VVA的控制电压&#xff0c;以自动化获取指定衰减值对应的控制电平。 二、前期准备 Python环境&…...

设计模式系列(1):总览与引导

目录 前言 设计模式简介 UML与设计模式 术语解释 UML工具与PlantUML 面向对象设计原则(SOLID等) 设计模式分类与典型场景 设计模式的价值 学习与实践建议 常见面试题 推荐阅读 1. 前言 本篇为设计模式系列的第一篇,定位为总览和引导,旨在为后续各专题打下基础,帮助大家…...

Day21打卡—常见降维算法

知识点回顾&#xff1a; LDA线性判别PCA主成分分析t-sne降维 作业&#xff1a; 自由作业&#xff1a;探索下什么时候用到降维&#xff1f;降维的主要应用&#xff1f;或者让ai给你出题&#xff0c;群里的同学互相学习下。可以考虑对比下在某些特定数据集上t-sne的可视化和pca可…...

什么是人工智能(Artificial Intelligence,AI)? —— 机器学习 =》 深度学习 =》 新型技术

文章目录 什么是人工智能&#xff08;Artificial Intelligence&#xff0c;AI&#xff09;&#xff1f; —— 关系&#xff1a;AI >> ML >> DL一、机器学习&#xff08;Machine Learning&#xff0c;ML&#xff09;1、历史2、类型&#xff08;1&#xff09;监督学习…...

iVX 平台技术解析:图形化与组件化的融合创新

一、图形化逻辑编程&#xff1a;用流程图替代代码的革命 iVX 的核心突破在于可视化逻辑表达—— 开发者通过拖拽 “逻辑块”&#xff08;如条件判断、循环控制、数据操作等&#xff09;来搭建应用逻辑&#xff0c;彻底摒弃传统代码的字符输入模式。这种 “所见即所得” 的开发…...

【Diffusion】在华为云ModelArts上运行MindSpore扩散模型教程

目录 一、背景与目的 二、环境搭建 三、模型原理学习 1. 类定义与初始化 2. 初始卷积层 3. 时间嵌入模块 4. 下采样模块 5. 中间模块 6. 上采样模块 7. 最终卷积层 8. 前向传播 9. 关键点总结 四、代码实现与运行 五、遇到的问题及解决方法 六、总结与展望 一、…...

跟我学c++高级篇——模板元编程之十三处理逻辑

一、元编程处理逻辑 无论在普通编程还是在元编程中&#xff0c;逻辑的处理&#xff0c;都是一个编程开始的必然经过。开发者对普通编程中的逻辑处理一般都非常清楚&#xff0c;不外乎条件谈判和循环处理。而条件判断常见的基本就是if语句&#xff08;switch如果不考虑效率等情…...

组合模式(Composite Pattern)详解

文章目录 1. 什么是组合模式?2. 为什么需要组合模式?3. 组合模式的核心概念4. 组合模式的结构5. 组合模式的基本实现5.1 基础示例:文件系统5.2 透明组合模式 vs 安全组合模式5.2.1 透明组合模式5.2.2 安全组合模式5.3 实例:公司组织结构5.4 实例:GUI组件树6. Java中组合模…...

最长字符串 / STL+BFS

题目 代码 #include <bits/stdc.h> using namespace std;int main() {map<vector<int>, vector<string>> a;set<vector<int>> c;vector<int> initial(26, 0);c.insert(initial);ifstream infile("words.txt");string s;w…...

C++ stl中的set、multiset、map、multimap的相关函数用法

文章目录 序列式容器和关联式容器树形结构和哈希结构树形结构哈希结构 键值对setset的相关介绍set定义方式set相关成员函数multiset mapmap的相关介绍map定义方式map的相关操作1.map的插入2.map的查找3.map的删除 序列式容器和关联式容器 CSTL中包含了序列式容器和关联式容器&…...

普通IT的股票交易成长史--20250511 美元与美股强相关性

声明&#xff1a;本文章的内容非原创。参考了yt博主Andy Lee的观点&#xff0c;为了加深自己的学习印象才做的复盘&#xff0c;不构成投资建议。感谢他的无私奉献&#xff01; 送给自己的话&#xff1a; 仓位就是生命&#xff0c;绝对不能满仓&#xff01;&#xff01;&#x…...

系统架构设计(四):架构风格总结

黑板 概念 黑板体系架构是一种用于求解复杂问题的软件架构风格&#xff0c;尤其适合知识密集型、推理驱动、数据不确定性大的场景。 它模拟了人类专家协同解决问题的方式&#xff0c;通过一个共享的“黑板”协同多个模块&#xff08;专家&#xff09;逐步构建解决方案。 组…...

ElasticSearch进阶

一、文档批量操作 1.批量获取文档数据 批量获取文档数据是通过_mget的API来实现的 (1)在URL中不指定index和type 请求方式&#xff1a;GET请求地址&#xff1a;_mget功能说明 &#xff1a; 可以通过ID批量获取不同index和type的数据请求参数&#xff1a; docs : 文档数组参…...

0基础 | L298N电机驱动模块 | 使用指南

引言 在嵌入式系统开发中&#xff0c;电机驱动是一个常见且重要的功能。L298N是一款高电压、大电流电机驱动芯片&#xff0c;广泛应用于各种电机控制场景&#xff0c;如直流电机的正反转、调速&#xff0c;以及步进电机的驱动等。本文将详细介绍如何使用51单片机来控制L298N电…...

Synchronized与锁升级

一、面试题 1&#xff09;谈谈你对Synchronized的理解 2&#xff09;Sychronized的锁升级你聊聊 3&#xff09;Synchronized实现原理&#xff0c;monitor对象什么时候生成的&#xff1f;知道monitor的monitorenter和monitorexit这两个是怎么保证同步的嘛&#…...

MNIST DDP 分布式数据并行

Distributed Data Parallel 转自我的个人博客&#xff1a;https://shar-pen.github.io/2025/05/04/torch-distributed-series/3.MNIST_DDP/ The difference between DistributedDataParallel and DataParallel is: DistributedDataParallel uses multiprocessing where a proc…...

语音合成之十三 中文文本归一化在现代语音合成系统中的应用与实践

中文文本归一化在现代语音合成系统中的应用与实践 引言理解中文文本归一化&#xff08;TN&#xff09;3 主流LLM驱动的TTS系统及其对中文文本归一化的需求分析A. SparkTTS&#xff08;基于Qwen2.5&#xff09;与文本归一化B. CosyVoice&#xff08;基于Qwen&#xff09;与文本归…...

9.1.领域驱动设计

目录 一、领域驱动设计核心哲学 战略设计与战术设计的分野 • 战略设计&#xff1a;限界上下文&#xff08;Bounded Context&#xff09;与上下文映射&#xff08;Context Mapping&#xff09; • 战术设计&#xff1a;实体、值对象、聚合根、领域服务的构建原则 统一语言&am…...

如何配置光猫+路由器实现外网IP访问内部网络?

文章目录 前言一、网络拓扑理解二、准备工作三、光猫配置3.1 光猫工作模式3.2 光猫端口转发配置&#xff08;路由模式时&#xff09; 四、路由器配置4.1 路由器WAN口配置4.2 端口转发配置4.3 动态DNS配置&#xff08;可选&#xff09; 五、防火墙设置六、测试配置七、安全注意事…...

C++题题题题题题题题题踢踢踢

后缀表达式求值 #include<bits/stdc.h> #include<algorithm> using namespace std; string a[100]; string b[100]; stack<string> op; int la0,lb0; int main(){while(true){cin>>a[la];if(a[la]".") break;la;}for(int i0;i<la;i){if(…...

M. Moving Both Hands(反向图+Dijkstra)

Problem - 1725M - Codeforces 题目大意&#xff1a;给你一个有向图&#xff0c;起始点在1&#xff0c;问起始点分别与另外n-1个 点相遇的最短时间&#xff0c;无法相遇输出-1。 思路&#xff1a;反向建图&#xff0c;第一层建原图&#xff0c;第二层建反向图&#xff0c;两层…...

11、参数化三维产品设计组件 - /设计与仿真组件/parametric-3d-product-design

76个工业组件库示例汇总 参数化三维产品设计组件 (注塑模具与公差分析) 概述 这是一个交互式的 Web 组件&#xff0c;旨在演示简单的三维零件&#xff08;如带凸台的方块&#xff09;的参数化设计过程&#xff0c;并结合注塑模具设计&#xff08;如开模动画&#xff09;与公…...