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

【VMware】虚拟机运行 Linux Ubuntu、MAC 安装和配置

文章目录

一、VMware Workstation Pro 下载

1、官网访问与产品定位

官方下载地址:VMware Workstation Pro 官方下载页面

自 2024 年 9 月起,VMware Workstation Pro 已转为免费使用(商业、教育和个人用途均适用),最新版本无需许可证密钥即可激活‌!

操作步骤:

  1. 进入官网后点击顶部导航栏的"Products"

  2. 选择"SEE DESKTOP HYPERVISORS"(查看桌面管理程序)

  3. 在页面中找到"VMware Workstation Pro for PC"

  4. 点击醒目的"DOWNLOAD NOW"按钮

    VMware官网

2、账号注册与登录

由于VMware现在属于Broadcom旗下,需要Broadcom账号才能下载。

注册流程:

  1. 点击右上角"LOGIN",跳转后会进入Broadcom登录页面

    Broadcom登录页面截图
  2. 新用户点击"REGISTER"注册

    注册入口截图
  3. 完成邮箱验证并填写基本信息

  4. 注册成功后返回登录页面登录

3、软件下载详细步骤

登录后按以下步骤操作:

  1. 点击"My Downloads"

  2. 右上角下拉菜单选择"VMWare Cloud Foundation"

  3. 找到"Free Software Downloads available HERE"并点击

  4. 选择"VMWare Workstation Pro"

    下载导航页面截图

版本选择:

  1. 在版本列表中选择适合的版本

    版本选择截图
  2. 勾选用户协议"I agree..."

  3. 点击右侧下载图标开始下载

    最终下载页面截图

二、VMware Workstation Pro 安装

安装前准备

确保已获取官方安装包(如:VMware-workstation-full-17.6.2-24409262.exe),安装过程简单直观,主要注意环境变量配置即可。


VMware安装程序启动界面

详细安装步骤

1. 基础配置

  1. 双击运行安装程序

  2. 重要设置

    • 选择安装路径(建议保持默认)
    • 务必勾选"Add VMware Workstation to the system PATH"(添加至系统环境变量)
    安装路径与环境变量设置界面

2. 用户体验设置

  • 取消勾选"Check for product updates on startup"(启动时检查更新)

  • 取消勾选"Join the VMware Customer Experience Improvement Program"(加入客户体验改善计划)

    用户体验选项设置界面

安装完成注意事项

系统差异提示

  • Windows/Linux用户:安装完成后可直接启动软件
  • macOS用户特别注意:由于VMware原生不支持macOS虚拟机,需先使用Unlocker工具解锁该功能(详见后续macOS虚拟机创建章节)

三、Ubuntu Linux虚拟机镜像下载安装与配置

1、Ubuntu系统镜像下载

下载渠道推荐:

  • 官方下载:Ubuntu官网
  • 国内镜像:清华大学开源软件镜像站(国内用户推荐,下载速度更快)

版本选择建议:推荐下载LTS长期支持版提供5年安全更新,稳定性更好(如Ubuntu 24.04 LTS)

在这里插入图片描述

注意:不要解压


2、创建虚拟机(VMware)及硬件配置

  1. 打开VMware Workstation软件,点击 “创建新的虚拟机”(或者通过“文件 -> 新建虚拟机”)

    在这里插入图片描述
  2. 选择 "自定义"配置,点击下一步

    在这里插入图片描述
  3. 硬件兼容性保持默认,直接下一步

    在这里插入图片描述
  4. 选择 “安装程序光盘映像文件”,浏览选择下载好的Ubuntu镜像(确认检测到"Ubuntu 64位24.04.2"后继续)

    在这里插入图片描述
  5. 设置用户名(仅限小写字母、数字或破折号)

    在这里插入图片描述
  6. 命名虚拟机

    在这里插入图片描述
  7. 处理器配置(建议:处理器数量4,每个处理器内核数2)

    在这里插入图片描述
  8. 内存分配(根据主机配置选择)

    在这里插入图片描述
  9. 网络类型选择 “使用网络地址转换(NAT)”(实测桥接模式会导致网络连接失败)

    在这里插入图片描述
  10. SCSI控制器选择 “LSI Logic”

    在这里插入图片描述
  11. 虚拟磁盘类型选择 “SCSI”

    在这里插入图片描述
  12. 选择 “新建虚拟磁盘”

    在这里插入图片描述
  13. 设置磁盘容量40GB,并勾选 “将虚拟磁盘拆分成多个文件”

    在这里插入图片描述
  14. 指定磁盘文件名

    在这里插入图片描述
  15. 完成创建(可点击"自定义硬件"进行最后调整)

    在这里插入图片描述

3、编辑虚拟机设置

在这里插入图片描述
  1. 虚拟化引擎(重要)

    如果虚拟机无法启动,可能是电脑配置不足,需检查虚拟化支持是否开启

    在这里插入图片描述
  2. USB控制器(可选)

    如需连接USB设备,可在此调整设置

    在这里插入图片描述

4、安装Ubuntu系统及系统设置

安装向导

  1. 启动安装程序

    在这里插入图片描述
  2. 语言选择

    建议保持English(默认选项)

    在这里插入图片描述
    在这里插入图片描述
  3. 键盘布局

    选择English(US)(默认)

    在这里插入图片描述
  4. 网络连接

    建议保持联网状态(便于安装更新)

    在这里插入图片描述
    在这里插入图片描述
  5. 安装类型

    新手选择默认选项

    在这里插入图片描述
  6. 功能选择

    按需选择安装附加组件

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

系统配置

  1. 账户设置

    设置用户名和密码(注意:用户名需小写)

    在这里插入图片描述
  2. 时区选择

    自动检测或手动选择

    在这里插入图片描述

安装

  1. 开始安装

    在这里插入图片描述
  2. 安装完成

    点击"立即重启"

    在这里插入图片描述

首次启动

  1. 系统登录

    在这里插入图片描述
  2. Ubuntu Pro选项

    建议选择 “Skip for now”(是否要升级成 Ubuntu Pro)

    在这里插入图片描述
  3. 隐私设置

    建议选择不发送系统信息 “No, don’t send sysytem info”

    在这里插入图片描述

点击 “Finish”,完成安装。


5、安装VMware Tools 及配置共享文件夹

VMware Tools安装步骤

  1. 启动安装

    VMware Tools菜单
    安装选项
  2. 终端操作

    • 右键桌面选择"在终端中打开" 或使用快捷键 Ctrl+Alt+T
  3. 执行安装命令(逐条执行):

    • open-vm-tools:提供基本功能。
    • open-vm-tools-desktop:提供图形界面支持(如拖放文件、共享文件夹)
    # 更新软件源
    sudo apt update# 安装必要组件(包含图形界面支持)
    sudo apt install -y open-vm-tools open-vm-tools-desktop# 重启生效
    sudo reboot
    
  4. 验证安装

    vmware-toolbox-cmd -v
    

    ➤ 正常应显示版本号(如:12.4.5)

共享文件夹配置详解

常见问题解决方案

当发现/mnt/hgfs目录不存在或无法访问时:

  1. 创建并配置目录

    sudo mkdir -p /mnt/hgfs
    sudo chmod 777 /mnt/hgfs
    
  2. 手动挂载测试

    sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other -o uid=1000 -o gid=1000
    

    📌 参数说明:

    • allow_other:允许其他用户访问
    • uid/gid=1000:绑定到当前用户(可通过id -u查看自己的UID)
  3. 设置开机自动挂载

    # 永久生效配置
    echo ".host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,uid=1000,gid=1000,defaults 0 0" | sudo tee -a /etc/fstab# 立即生效
    sudo mount -a
    
  4. 用户组权限配置

    sudo groups # 查看当前用户已有的组
    sudo usermod -aG vmware-vmx $USER
    sudo reboot # 重启生效
    
  5. 最终验证

    ls /mnt/hgfs
    

    ✅ 正常应显示宿主机设置的共享文件夹名称

重点注意事项

  1. 权限问题

    • 如果遇到Permission denied错误,请检查:
    # 查看当前用户ID
    id -u# 确认挂载参数中的uid/gid是否正确
    mount | grep hgfs
    
  2. 自动挂载失效

    • 编辑/etc/fstab检查是否有语法错误:
    sudo nano /etc/fstab
    
    • 每行配置结尾不能有空格
  3. 图形界面支持

    • 如果无法拖放文件,请确认已安装:
    sudo apt install open-vm-tools-desktop
    

常见问题排查

# 查看服务状态
systemctl status vmware-tools# 重新加载配置
sudo vmware-config-tools.pl# 检查内核模块
lsmod | grep vmw

6、安装常用开发工具

在终端中逐条执行以下命令(可粘贴复制):

基础工具包

# 更新软件源(必须首先执行)
sudo apt update# 安装必备工具
sudo apt install -y vim          # 文本编辑器
sudo apt install -y net-tools    # ifconfig 网络工具
sudo apt install -y gcc          # C编译器
sudo apt install -y make         # 编译工具
sudo apt install -y git          # 版本控制# 一键安装所有工具(推荐)
sudo apt install -y vim net-tools gcc make git

验证安装

# 检查工具是否可用
vim --version | head -n 1    # 显示 vim 版本
ifconfig                     # 查看网络信息(需 net-tools)
gcc --version                # 显示 gcc 版本

7、配置SSH并连接VSCode

1. 前置准备

网络模式确认

NAT模式设置

➤ 虚拟机网络适配器需设置为NAT模式

2. 服务端配置(Ubuntu)

# 1. 安装SSH服务
sudo apt update
sudo apt install -y openssh-server# 2. 启动服务(含开机自启)
sudo systemctl enable --now ssh# 3. 验证服务状态
sudo systemctl status ssh | grep "active (running)"
ps -e | grep sshd
查看IP地址
ifconfig | grep inet    # 找到类似 192.168.x.x 的地址
# 或使用新命令:
ip a | grep inet

3. 客户端连接(VSCode)

  1. 安装扩展

    Remote-SSH扩展
  2. 连接流程

    • F1 → 输入 Remote-SSH: Connect to Host

      命令面板
    • 输入格式:ssh 用户名@IP(如 ssh ubuntu@192.168.1.100) 如果进行配置如下:

    • 连接到主机 选择对应IP后进行密码验证即可远程开发

4. 免密登录(可选)

▶ 本地主机生成密钥(Windows端非虚拟机)
  1. 生成密钥对

    打开终端或命令提示符窗口(比如PowerShell),并运行以下命令:

    ssh-keygen -t rsa
    
    • 连续按3次回车(使用默认路径+无密码)
    • 成功生成后会显示: 将生成一个私钥文件(id_rsa)和一个公钥文件(id_rsa.pub)
      密钥保存位置:C:\Users\你的用户名\.ssh\id_rsa.pub
      
  2. 将公钥添加到Ubuntu

    username替换为你要连接到的Linux服务器上的用户名,server_ip替换为服务器的IP地址。
    这个命令会将公钥文件复制到远程服务器的home目录下。

    scp C:/Users/你的用户名/.ssh/id_rsa.pub username@server_ip:~/
    

    通过ssh在虚拟机终端执行:

    # 1. 首先SSH登录到目标服务器(需输入密码)
    ssh username@server_ip# 2. 检查并创建.ssh目录(如果不存在) -p 参数表示自动创建父目录(不会报错)
    mkdir -p ~/.ssh# 3. 将上传的公钥追加到授权文件  >> 表示追加内容(避免覆盖原有密钥)
    cat ~/id_rsa.pub >> ~/.ssh/authorized_keys# 4. 设置严格的文件权限(安全必需),700权限(仅所有者可读写执行)、600权限(仅所有者可读写)
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys# 5. (可选)删除临时公钥文件
    rm -v ~/id_rsa.pub  
    

    完成以上步骤后,就可以通过VsCode连接到Linux服务器而无需输入密码了。


问题:Windows无法直接SSH连接虚拟机

▶ 原因分析

Windows 10/11 默认没有SSH客户端(最新版可能已内置但需要启用)

▶ 解决方案

方法一:启用Windows内置SSH功能

  1. Win+S 搜索「可选功能」→ 添加功能
  2. 勾选 OpenSSH 客户端 → 安装
  3. 重新打开CMD即可使用ssh命令

方法二:安装Git Bash(推荐)

  1. 下载 Git for Windows
  2. 安装时勾选 Use Git and optional Unix tools in the Command Prompt
  3. 安装后任意终端(CMD/PowerShell)都可使用SSH命令

参考资源

  • VS Code官方SSH文档
  • CSDN配置指南
  • 【配置环境】Windows下 VS Code 远程连接虚拟机Ubuntu
  • VsCode通过SSH连接Ubuntu虚拟机
  • VS Code SSH远程连接虚拟机Ubuntu

8、更换国内镜像源

第一步:备份原配置

在终端执行:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

(这样如果换源出问题,可以随时恢复)

第二步:图形化换源

  1. 打开设置
    点击左下角"显示应用程序" → 搜索"软件和更新"

    软件和更新入口
  2. 选择下载服务器

    • 点击"下载自"右侧的▼
    • 选择"其他…"
    选择其他源
    选择其他源
  3. 选择镜像站点

    • 推荐选择:
      阿里云(全国通用)
      清华(北方更快)
      中科大(华东更快)
    选择镜像站
  4. 确认生效

    • 输入密码 → 点击"选择服务器"
    • 点击"关闭"按钮
    保存设置

第三步:更新软件列表

关闭窗口后,在终端执行:

sudo apt update

(看到"正在读取软件包列表…完成"说明成功)

常见问题

  1. 如果更新很慢:换个镜像站重试
  2. 如果报错:执行以下命令恢复备份
    sudo cp /etc/apt/sources.list.bak /etc/apt/sources.list
    

四、macOS镜像和Unlocker工具配置

第一步:准备工作和Unlocker工具安装

1. BIOS关键设置优化(性能优化)

进入方式:开机时按 F2/Del/Esc(具体键位因主板型号而异)

功能作用说明推荐状态
VT-x (VMX)基础虚拟化支持,无此功能无法运行虚拟机✔️ 开启
VT-d允许虚拟机直接访问物理设备(如GPU/硬盘)✔️ 开启
SR-IOV提升虚拟设备性能(多虚拟机并行时效果显著)✔️ 建议开启
Above 4G Decoding支持大内存分配(需分配超过4GB内存时必开)✔️ 必开
NUMA优化多CPU核心负载分配(物理机多核用户建议开)✔️ 按需开启
x2APIC增强中断处理性能(避免虚拟机卡顿)✔️ 开启
AES指令集加速加密运算(提升系统安全性)✔️ 建议开启
IOMMU/ACS支持设备直通(如直通显卡给虚拟机)✔️ 按需开启

注意事项

  • 不同主板BIOS界面差异较大,需在AdvancedCPU Settings中查找
  • 修改后按 F10 保存退出

2. macOS镜像准备

推荐镜像:macOS Monterey 12.6.5(稳定性最佳)

镜像格式转换(仅限.dmg文件)
  1. 下载工具:UltraISO官方中文版
  2. 转换步骤:
    • 打开UltraISO → 文件打开 → 选择.dmg文件
    • 工具格式转换 → 输出格式选.iso → 开始转换
    • 详细图文教程

3. Unlocker工具安装(关键步骤)

前置准备
  • Ctrl+Shift+Esc 打开任务管理器并关闭所有 VMware 进程(包括VMware后台服务)

    关闭进程
  • 临时禁用 Windows Defender 和 杀毒软件(防止误拦截补丁文件)

  • 确保解压路径无中文(如 D:\VMware\Unlocker

安装流程
  1. 下载并解压Unlocker工具包(推荐官方GitHub版本)

  2. 右键以管理员身份运行 win-install.cmdUnlocker.exe

    运行脚本
  3. 等待自动下载依赖文件(需联网)

    安装过程
  4. 出现 Press any key to exit... 后按回车完成

手动放置文件: 将下载的 darwin.isodarwinPre15.iso 复制到 Unlocker 目录下的 tools 文件夹中(如果没有 tools 文件夹,请手动创建)。如果脚本提示 “File not found - darwin.*”,说明手动文件放置不正确。

4. AMD处理器/特殊配置补充说明

在这里插入图片描述
在这里插入图片描述

▶ 手动编辑.vmx文件(AMD用户必看)
  1. 关闭VMware后,右键虚拟机 → 用记事本打开.vmx文件
  2. 在文件末尾添加以下参数:
    # AMD专用参数
    cpuid.0.eax = "0000:0000:0000:0000:0000:0000:0000:1011"
    cpuid.0.ebx = "0111:0101:0110:1110:0110:0101:0100:0111"
    cpuid.0.ecx = "0110:1100:0110:0101:0111:0100:0110:1110"
    cpuid.0.edx = "0100:1001:0110:0101:0110:1110:0110:1001"
    # 通用优化参数
    smc.version = "0"
    board-id.reflectHost = "TRUE"
    
  3. 保存文件 → 重新启动虚拟机
▶ 其他常见参数调整
参数作用适用场景
hw.model修正CPU型号识别安装时卡CPU兼容性错误
smc.present = "FALSE"禁用系统管理控制器AMD老款CPU报错
apic.xapic.enabled = "FALSE"关闭APIC扩展解决内核崩溃问题

💡 提示:完整参数模板可参考AMD-OSX项目


第二步:创建 macOS 虚拟机

步骤1:新建虚拟机向导

  1. 启动VMware → 点击「创建新的虚拟机」

    创建虚拟机入口
  2. 选择「自定义(高级)」配置 → 点击「下一步」

    选择自定义配置
    安装过程

步骤2:选择镜像与系统类型

  1. 加载镜像

    • 勾选「安装程序光盘映像文件」→ 浏览选择下载的 macOS Sequoia.iso
    选择ISO镜像
  2. 验证Unlocker是否生效

    • 系统类型需显示 「Apple macOS」(若无此选项,需重新安装Unlocker补丁)
    • 版本选择 「macOS 15」
    系统类型验证
    安装过程

步骤3:关键硬件配置

处理器与内存配置

处理器数量:2
每个处理器内核数:2
内存:≥8GB (低于4GB可能导致系统卡顿)

处理器设置
内存分配
网络与硬盘
  • 网络类型:选择 NAT模式(默认兼容性最佳)

    网络设置
  • 硬盘配置

    • 类型选择 SCSI(推荐)

    • 容量分配 ≥80GB

      控制器类型
      硬盘类型
      创建虚拟磁盘
      磁盘容量
      磁盘文件

步骤4:移除冗余硬件

  1. 进入「自定义硬件」界面

  2. 删除以下设备(避免资源占用或冲突):

    • USB控制器
    • 打印机
    • 声卡
    删除冗余硬件

步骤5:高级硬件设置(可选)

1. 虚拟化引擎(Intel/AMD优化)
虚拟化引擎设置
  • 作用:提升虚拟机性能(需物理机BIOS已开启虚拟化支持)
  • 推荐配置
    • Intel用户:勾选 虚拟化 Intel VT-x/EPT
    • AMD用户:勾选 虚拟化 AMD-V/RVI
  • 注意事项
    • 若无需直通硬件设备,可跳过此设置
    • 选项灰显?需进入BIOS开启VT-x/AMD-V功能
2. USB控制器兼容性(按需调整)
USB控制器设置
  • 作用:解决外设连接问题(如U盘/键鼠)
  • 推荐操作
    • 无外接需求:直接 移除USB控制器(减少资源占用)
    • 需使用USB 3.0+设备:选择 USB 3.1兼容性
  • 注意事项
    • macOS对USB 2.0兼容性更好(旧设备用户建议保留默认)
3. 加速3D图形(图形性能优化)
3D加速设置
  • 作用:改善界面流畅度(运行Xcode/图形应用时建议开启)
  • 推荐配置
    • 勾选 加速3D图形
    • 显存分配 ≥2GB(如显存不足可调至1GB)
  • 注意事项
    • 开启后若出现花屏,需安装VMware Tools后重试
    • 仅基础使用(如终端操作)可关闭以节省资源

第三步:安装macOS系统

1、启动安装程序

  • 点击「开启此虚拟机」→ 等待引导至安装界面

    启动界面

2、语言选择

  • 选择 简体中文 → 点击「继续」

    语言选择

3、磁盘准备

  1. 进入磁盘工具

    磁盘工具入口
  2. 选择主硬盘(非分区)

    • 点击左侧 VMware虚拟磁盘 → 点击顶部「抹掉」
    选择硬盘
  3. 参数设置

    配置项说明
    名称MacOS(英文)避免中文路径问题
    格式APFSmacOS专用高性能文件系统
    分区方案GUID分区图支持UEFI引导
    格式化设置
  4. 点击「抹掉」→ 完成后关闭窗口

4、开始系统安装

  1. 返回主界面 → 选择「安装macOS」

    安装入口
  2. 选择目标磁盘

    • 点击格式化好的 MacOS 磁盘 → 点击「继续」
    选择安装盘

5、等待安装完成

  • 预计耗时:20-40分钟(视硬件性能)
  • 注意事项
    • 安装过程中会自动重启 2-3次(进度条可能回退,属正常现象)
    • 勿强制关闭虚拟机电源
    • 若卡在某一阶段超过1小时,尝试重启后重装

第四步:macOS 初始设置

语言选择

安装完成后,依次选择语言、勾选「不传输信息」、暂不连接网络、跳过Apple ID登录,设置用户名和密码后即可进入桌面。
所有网络和账户设置均可后续在系统中补充配置。

账户设置

第五步:安装VMware Tools增强工具

  1. 准备安装

    • 进入macOS桌面后,点击顶部菜单栏的「虚拟机」→ 选择「安装VMware Tools」

    • 手动挂载darwin.iso镜像

      镜像挂载
  2. 挂载安装镜像

    • 系统会自动挂载安装镜像,桌面将显示「VMware Tools」图标

      安装界面
  3. 处理安全提示

    • 若提示"无法验证开发者",需前往:
      「系统偏好设置」→「隐私与安全性」→ 点击「允许」
    安全设置
  4. 运行安装程序

    • 双击安装包 → 选择「安装VMware Tools」→ 输入密码开始安装
    安装过程
  5. 完成安装

    • 安装完成后重启虚拟机,显存将提升,系统流畅度显著改善

      安装完成

提示:

别手贱升级系统补丁
定期给虚拟机拍快照
重要数据记得实时备份
遇到问题先Google错误代码(80%的问题都有现成解决方案)

相关文章:

【VMware】虚拟机运行 Linux Ubuntu、MAC 安装和配置

文章目录 一、VMware Workstation Pro 下载二、VMware Workstation Pro 安装三、Ubuntu Linux虚拟机镜像下载安装与配置 1、Ubuntu系统镜像下载 2、创建虚拟机(VMware)及硬件配置 3、编辑虚拟机设置 4、安装Ubuntu系统及系统…...

遨游科普:三防平板是什么?有什么作用?

在数字化与智能化浪潮席卷全球的今天,电子设备的可靠性已成为衡量其价值的核心标准之一。三防平板,这一“硬核”的工业设备,正凭借其卓越的环境适应能力,从专业领域走向大众视野,成为极端场景下不可或缺的数字化工具。…...

电脑闪屏可能的原因

1. 显示器 / 屏幕故障 屏幕排线接触不良:笔记本电脑屏幕排线(屏线)松动或磨损,导致信号传输不稳定,常见于频繁开合屏幕的设备。屏幕面板损坏:液晶屏内部灯管老化、背光模块故障或面板本身损坏,…...

VR 互动实训的显著优势​

(一)沉浸式学习,提升培训效果​ 在 VR 互动实训中,员工不再是被动的知识接受者,而是主动的参与者。以销售培训为例,员工戴上 VR 设备,就能置身于逼真的销售场景中,与虚拟客户进行面对…...

2025.05.19【Connectedscatter】连接散点图详解

How to add a legend to base R plot The legend() function allows to add a legend. See how to use it with a list of available customization. Image on the chart background The rasterImage function allows to add an image on the background of the chart. 文章目…...

C++之函数模板类模板

模板 1.泛型编程2. 函数模板函数模板概念函数模板的实例化模板参数的匹配原则 3.类模板类模板的定义格式类模板的实例化 4.模板的优缺点 C 模板是一种强大的泛型编程工具,它允许你编写与类型无关的代码,提高代码复用性。 1.泛型编程 先看一个我们之前经…...

《告别低效签约!智合同如何用AI重构商业“契约时代”》​​——解析智能合约技术的爆发与行业变革

在数字化浪潮奔涌的当下,合同作为商业活动的核心枢纽,正经历着智能化的深度变革。智合同-合同智能应用这一创新模式,犹如一颗璀璨的新星,在商业领域的天空中绽放出独特光芒,深刻改变着人们对合同管理与应用的认知和实践…...

Axure难点解决分享:垂直菜单展开与收回(4大核心问题与专家级解决方案)

亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢!如有帮助请订阅专栏! Axure产品经理精品视频课已登录CSDN可点击学习https://edu.csdn.net/course/detail/40420 课程主题:垂直菜单展开与收回 主要内容:超长菜单实现、展开与收回bug解释、Axure9版本限制等问题解…...

PCB设计教程【入门篇】——电路分析基础-基本元件(电阻电容电感)

前言 本教程基于B站Expert电子实验室的PCB设计教学的整理,为个人学习记录,旨在帮助PCB设计新手入门。所有内容仅作学习交流使用,无任何商业目的。若涉及侵权,请随时联系,将会立即处理 目录 前言 1.PCB原理图的作用…...

909. 蛇梯棋

https://leetcode.cn/problems/snakes-and-ladders/description/?envTypestudy-plan-v2&envIdtop-interview-150思路:题目要求我们使用最小的步数走到终点(注意不能走回头路,传送不算),那我们的想法就很明确了&am…...

Redis学习打卡-Day4-Redis实现消息队列

Redis 基于阻塞队列实现秒杀的优化 新增秒杀优惠券的同时,将优惠券信息保存到 Redis 中。基于 Lua 脚本,判断秒杀库存、一人一单,决定用户是否抢购成功。如果抢购成功,将优惠券id和用户id封装后存入阻塞队列。开启独立线程任务&a…...

探索C++面向对象:从抽象到实体的元规则(上篇)

前引:在计算机科学的浩瀚星空中,面向对象编程(OOP) 无疑是照亮现代软件开发的核心范式。而 C 作为一门兼具高性能与抽象能力的系统级语言,其类与对象的语法设计更是开发者构建复杂系统的“元规则”。你是否曾困惑于 封…...

华为鸿蒙电脑发布,企业运营效率可以提高吗?

今日,科技圈迎来重磅消息,华为于19日在成都正式发布两款鸿蒙电脑,标志着鸿蒙操作系统首次登陆电脑端,这是中国国产操作系统的重大里程碑,更是中国电子信息产业自主可控进程中的关键一步。 鸿蒙操作系统作为首个统一移动…...

遨游科普:三防平板是什么?应用在什么场景?

在数字化转型的浪潮中,智能终端设备正从消费级市场向工业级场景深度渗透。传统平板电脑虽能满足日常需求,却难以应对极端环境下的挑战——暴雨、沙尘、震动、高温或低温等恶劣条件,往往成为数据采集、实时通讯和作业效率的“绊脚石”。在此背…...

图像中紫边出现原因

一、紫边 在实景调试中,我们经常会遇到高亮场景下的物体边缘分布有明显的紫边(purple fringe)现象, 就如下图所示: 对于紫边的成因,通常认为是镜头色差(镜头对不同光谱光线的折射程度不同,导致不…...

中服云生产线自动化智能化调度生产系统:打造智能制造新标杆

前言 在当今制造业竞争日益激烈的背景下,实现生产线的自动化与智能化已成为企业提升竞争力的关键。作为国内技术领先的工业物联网平台、数字孪生、自动控制技术厂商,中服云凭借其深厚的技术积累和创新能力,打造了一套完整的生产线自动化智能…...

【电动汽车充电系统核心技术全解:从can通讯高压架构到800V超充未来】

标题:电动汽车充电系统核心技术全解:从高压架构到800V超充未来 目录 前言:开篇暴击:中国电动车年产670万辆背后,充电技术如何破局一、充电系统架构解剖:四大核心模块如何“打配合”?二、CAN总线…...

uniapp-商城-62-后台 商品列表(分类展示商品的布局)

每一个商品都有类别,比如水果,蔬菜,肉,粮油等等,另外每一个商品都有自己的属性,这些都在前面的章节进行了大量篇幅的介绍。这里我们终于完成了商品类的添加,商品的添加,现在到了该进…...

在嵌入式系统中, 一般链路层断开多久,断开TCP为好

一、典型场景与推荐策略 1. 实时性优先(工业控制、自动化设备) 需求:快速释放资源,避免因等待重传浪费内存或阻塞任务。 策略: 立即断开:在lwip_netif_link_callback中检测到链路断开后直接关闭TCP连接&a…...

解决 MySQL 错误 1356 (HY000)

当你遇到 ERROR 1356 (HY000): View mysql.user references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them 错误时,通常是由于 MariaDB 或 MySQL 版本更新导致的视图引用问题。 示例 UPDATE mysql.user SET H…...

【数据仓库面试题合集④】SQL 性能调优:面试高频场景 + 调优策略解析

随着业务数据规模的持续增长,SQL 查询的执行效率直接影响到数据平台的稳定性与数据产出效率。因此,在数据仓库类岗位的面试中,SQL 性能调优常被作为重点考察内容。 本篇将围绕常见 SQL 调优问题,结合实际经验,整理出高频面试题与答题参考,助你在面试中游刃有余。 🎯 高…...

机器学习第十七讲:PCA → 把100维数据压缩成3D视图仍保持主要特征

机器学习第十七讲:PCA → 把100维数据压缩成3D视图仍保持主要特征 资料取自《零基础学机器学习》。 查看总目录:学习大纲 关于DeepSeek本地部署指南可以看下我之前写的文章:DeepSeek R1本地与线上满血版部署:超详细手把手指南 主…...

一个由微软开源的 Python 工具,用于将多种文件格式转换为 Markdown 格式

📚 Markitdown 由微软开源的 Python 工具,用于将多种文件格式转换为 Markdown 格式 支持:PDF、PowerPoint、Word、Excel、图像、音频、HTML、文本格式(CSV、JSON、XML)、ZIP 文件的转换。 它旨在提供一个简单且灵活的…...

Python多进程、多线程、协程典型示例解析

一、multiprocessing(多进程) 1. 模块简介 作用:创建多个独立运行的进程(每个进程有独立内存空间)适用场景:数学计算、图像处理等CPU密集型任务核心原理:绕过Python的GIL锁,真正利…...

httpx[http2] 和 httpx 的核心区别及使用场景如下

httpx[http2] 和 httpx 的核心区别在于 HTTP/2 协议支持,具体差异及使用场景如下: 1. 功能区别 命令/安装方式协议支持额外依赖适用场景pip install httpx仅 HTTP/1.1无通用请求,轻量依赖pip install httpx[http2]支持 HTTP/2需安装 h2>3…...

[强化学习的数学原理—赵世钰老师]学习笔记02-贝尔曼方程-下

[强化学习的数学原理—赵世钰老师]学习笔记02-贝尔曼方程-下 2.6 矩阵-向量形式2.7 求解状态值2.7.1 方法1:解析解2.7.2 方法2:数值解2.7.3 示例 2.8 动作值2.8.1 示例2.8.2 基于动作值的贝尔曼方程 本人为强化学习小白,为了在后续科研的过程…...

c/c++数据类型转换.

author: hjjdebug date: 2025年 05月 18日 星期日 20:28:52 CST descrip: c/c数据类型转换. 文章目录 1. 为什么需要类型转换?1.1 发生的时机:1.2 常见的发生转换的类型: 2. c语言的类型转换: (Type) value2.1 c语言的类型变换是如何实现的? 规则是什么? 3. c 的static_cast…...

大语言模型训练数据格式:Alpaca 和 ShareGPT

在大规模语言模型(LLM)的开发中,训练数据的质量和格式起着至关重要的作用。为了更好地理解和构建高质量的数据集,社区发展出了多种标准化的数据格式。其中,Alpaca 和 ShareGPT 是两种广泛使用的训练数据格式&#xff0…...

C++(23):容器类<vector>

目录 一、核心概念 二、基本语法 1. 头文件 2. 声明与初始化 三、常用操作 四、具体实例 1、size()、front()、back() 2、push_back()、pop_back()、capacity() 3、reserve() 一、核心概念 Vectors 包含着一系列连续存储的元素,其行为…...

Nginx配置中include mime.types的作用及正确配置mime类型

部署应用后发现页面没有正确加载CSS样式文件,通过检查nginx配置文件,发现nginx有一项配置include mime.type没有正确配置导致。 http {log_format main $remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent &q…...

C++ 之 继承

1.继承的概念及定义 1.1继承的引入 我们设计一个person类,类中包含姓名、年龄、身高....等数据成员 我们再设计一个student类,类中也需要包含姓名、年龄、身高...等数据成员 我们再设计一个teacher类,类中也需要包含姓名、年龄、身高...等数…...

基于CNN的猫狗识别(自定义CNN模型)

目录 一,数据集介绍 1.1 数据集下载 1.2 数据集简介 二,模型训练 2.1 用到的模块 2.2 设置随机种子 2.3 图像的预处理 2.4 CNN模型层结构 2.5 初始化 2.6 训练和验证 三,模型测试 3.1 定义相同预处理 3.2 定义相同的层结构 3.3…...

互联网大厂Java面试场景:从Spring Boot到分布式缓存技术的探讨

互联网大厂Java面试场景:从Spring Boot到分布式缓存技术的探讨 场景描述 互联网大厂某次Java开发岗面试,主考官是一位严肃的技术专家,而应聘者则是搞笑的程序员“码农明哥”。面试围绕音视频场景的技术解决方案展开,探讨从Sprin…...

linux本地部署ollama+deepseek过程

1.Tags ollama/ollama GitHub 选择一个版本下载,我下的是0.5.12 2.tar解压该文件 3.尝试启动ollama ollama serve 4.查看ollama的版本 ollama -v 5.创建一个系统用户 ollama,不允许登录 shell,拥有一个主目录,并且用…...

【数据结构与算法】ArrayList 与顺序表的实现

目录 一、List 接口 1.1 List 接口的简单介绍 1.1 常用方法 二、顺序表 2.1 线性表的介绍 2.2 顺序表的介绍 2.3 顺序表的实现 2.3.1 前置条件:自定义异常 2.3.2 顺序表的初始化 2.3.2 顺序表的实现 三、ArrayList 实现类 3.1 ArrayList 的两种使用方式 3.2 Array…...

Vue 3.0 中的slot及使用场景

1. 基本概念 在 Vue 中, slot 用于定义组件中的插槽位置,外部的内容会被插入到组件内部的这个位置。插槽的内容是动态的,可以根据需要进行传递和渲染。它允许开发者在组件外部传递任意内容,并在组件内部进行渲染,主要…...

go语言协程调度器 GPM 模型

go语言协程调度器 GPM 模型 下面的文章将以几个问题展开,其中可能会有扩展处: 什么是调度器?为什么需要调度器? 多进程/多线程时cpu怎么工作? 进程/线程的数量多多少?太多行不行?为什么不行&…...

Python打卡 DAY 29

知识点回顾 1. 类的装饰器 2. 装饰器思想的进一步理解:外部修改、动态 3. 类方法的定义:内部定义和外部定义 作业:复习类和函数的知识点,写下自己过去29天的学习心得,如对函数和类的理解,对python这门工…...

C++控制结构详解:if-else、switch、循环(for/while/do-while)

1. 引言 在C编程中,控制结构用于控制程序的执行流程。它们决定了代码在什么条件下执行、如何重复执行某段代码,以及如何选择不同的执行路径。C提供了多种控制结构,主要包括: 条件语句:if-else、switch-case循环语句&…...

APP手机端测试覆盖点

通过上图,我们覆盖了完整的一个APP,需要进行哪些测试...

C++:⾯向对象的三⼤特性

面向对象的三大特性: 继承:允许一个类(子类 / 派生类)继承另一个类(父类 / 基类)的属性和方法,实现代码复用和层次化设计。 封装:将数据(成员变量)和操作数据…...

三、高级攻击工具与框架

高级工具与框架是红队渗透的核心利器,能够实现自动化攻击、权限维持和隐蔽渗透。本节聚焦Metasploit、Cobalt Strike及企业级漏洞利用链,结合实战演示如何高效利用工具突破防御并控制目标。 1. Metasploit框架深度解析 定位:渗透测试的“瑞…...

玄机-第二章日志分析-redis应急响应

前言 记录记录 关于redis的一些手法 redis未授权访问漏洞利用redis写webshell利用“公私钥” 认证获取root权限利用crontab反弹shellredis日志: /var/log/redis.log 1. 通过本地 PC SSH到服务器并且分析黑客攻击成功的 IP 为多少,将黑客 IP 作为 FLAG 提交; cd /var/log 查看…...

MoodDrop:打造一款温柔的心情打卡单页应用

我正在参加CodeBuddy「首席试玩官」内容创作大赛,本文所使用的 CodeBuddy 免费下载链接:腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴 起心动念:我想做一款温柔的情绪应用 「今天的你,心情如何?」 有时候&#x…...

Web开发-JavaEE应用SpringBoot栈SnakeYaml反序列化链JARWAR构建打包

知识点: 1、安全开发-JavaEE-WAR&JAR打包&反编译 2、安全开发-JavaEE-SnakeYaml反序列化&链 一、演示案例-WEB开发-JavaEE-项目-SnakeYaml序列化 常见的创建的序列化和反序列化协议 • (已讲)JAVA内置的writeObject()/readObje…...

RISC-V 开发板 MUSE Pi Pro V2D图像加速器测试,踩坑介绍

视频讲解: RISC-V 开发板 MUSE Pi Pro V2D图像加速器测试,踩坑介绍 今天测试下V2D,这是K1特有的硬件级别的2D图像加速器,参考如下文档,但文档中描述的部分有不少问题,后面会讲下 https://bianbu-linux.spa…...

学习!FastAPI

目录 FastAPI简介快速开始安装FastApiFastAPI CLI自动化文档 Reqeust路径参数Enum 类用于路径参数路径参数和数值校验 查询参数查询参数和字符串校验 请求体多个请求体参数嵌入单个请求体参数 CookieHeader表单文件直接使用请求 ResponseResponse Model多个关联模型 响应状态码…...

【Python 算法零基础 4.排序 ① 选择排序】

就算经历各番碰撞,幸运也将一直站在我这边 —— 25.5.18 一、引言 选择排序(Selection Sort) 是一种简单直观的排序算法。它首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小…...

05 部署Nginx反向代理

01 服务器基本信息 名称IP地址真实Web服务器172.2.25.10Proxy服务器172.2.25.11 02 Proxy基本设置 [rootlikexy-nginx-01 conf.d]# pwd /etc/nginx/conf.d [rootlikexy-nginx-01 conf.d]# cat proxy.conf server {listen 80;server_name www.wp.proxy.com;location / {prox…...

通俗解释Transformer在处理序列问题高效的原因(个人理解)

Transformer出现的背景 CNN 的全局关联缺陷卷积神经网络(CNN)通过多层堆叠扩大感受野,但在自然语言处理中存在本质局限: 局部操作的语义割裂:每个卷积核仅处理固定窗口(如 3-5 词),…...