【Linux install】Ubuntu和win双系统安装及可能遇到的所有问题
文章目录
- 1.前期准备
- 1.1 制作启动盘
- 1.2关闭快速启动、安全启动、bitlocker
- 1.2.1 原因
- 1.2.2 进入BIOS
- shell命令行进入BIOS
- windows设置中高级启动
- 在开机时狂按某个键进入BIOS
- 1.2.3 关闭`Fast boot`和`Secure boot`
- 1.3 划分磁盘空间
- 1.3.1 查看目前的虚拟内存大小
- 2.开始安装
- 2.1 使用启动盘启动
- 2.1.1 法一:BIOS调整启动顺序
- 2.1.2 法二:使用windows高级启动直接进入启动盘
- 2.2 语言
- 2.3 联网
- 2.4 ==分区==
- 2.4.1 与windows共存
- 2.4.2 如果要手动分区...
- 主分区和逻辑分区
- 3.完全卸载Ubuntu
- 3.1 删除Ubuntu分区
- 3.2 删除Ubuntu残余的efi引导(切记)
- 4.基础环境配置
- 4.1 换源以及更新
- 4.2 deb类应用安装
- 4.3 卸载以及清理
1.前期准备
1.1 制作启动盘
先下载一下Ubuntu系统映像。官网下载得比较慢,可以去其他镜像源网站下载比如清华源。下载好的镜像是iso
后缀。
随便准备一个硬盘(U盘),不需要用太好的硬盘,而且制作启动盘之后硬盘里面所有的内容都会销毁。然后用一些硬盘制作工具烧录进去即可。这里推荐rufus
。下面演示一下操作:
选择好映像文件之后什么都不用动,一路确定之后就是等待烧录完成。由于rufus不会自动弹出烧录完成的弹窗,有的小白可能不知道烧录完成了,这里我们只要等状态进度条跑满就好了。
1.2关闭快速启动、安全启动、bitlocker
1.2.1 原因
- 在安装时,我们要进入的是启动盘。如果不关闭快速启动,计算机就会快速地加载Windows系统,进不去启动盘。
- 如果不关闭安全启动,计算机可能会拒绝加载不受信任的外部设备,从而无法进入启动盘。
- 如果不关闭bitlocker,外部设盘就无法对硬盘进行写入,也就无法安装。这个关闭比较容易,请自行查阅资料,此处就不具体讲解了。
1.2.2 进入BIOS
进入主板的BIOS界面可以关闭。BIOS是英文"Basic Input Output System"的缩略词,直译过来后中文名称就是"基本输入输出系统"。在IBM PC兼容系统上,是一种业界标准的固件接口。BIOS是个人电脑启动时加载的第一个软件,是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。此外,BIOS还向作业系统提供一些系统参数。系统硬件的变化是由BIOS隐藏,程序使用BIOS功能而不是直接控制硬件。现代作业系统会忽略BIOS提供的抽象层并直接控制硬件组件。
这里列举几种进入BIOS界面的方法。
shell命令行进入BIOS
首先查询一下shutdown.exe
指令的用法
PS C:\Users\Xu Han> shutdown.exe
用法: C:\Windows\system32\shutdown.exe [/i | /l | /s | /sg | /r | /g | /a | /p | /h | /e | /o] [/hybrid] [/soft] [/fw] [/f][/m \\computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]]没有参数 显示帮助。这与键入 /? 是一样的。/? 显示帮助。这与不键入任何选项是一样的。/i 显示图形用户界面(GUI)。这必须是第一个选项。/l 注销。这不能与 /m 或 /d 选项一起使用。/s 关闭计算机。/sg 关闭计算机。在下一次启动时,如果启用了自动重启登录,则将自动登录并锁定上次交互用户。登录后,重启任何已注册的应用程序。/r 完全关闭并重启计算机。/g 完全关闭并重启计算机。重新启动系统后,如果启用了自动重启登录,则将自动登录并锁定上次交互用户。登录后,重启任何已注册的应用程序。/a 中止系统关闭。这只能在超时期间使用。与 /fw 结合使用,以清除任何未完成的至固件的引导。/p 关闭本地计算机,没有超时或警告。可以与 /d 和 /f 选项一起使用。/h 休眠本地计算机。可以与 /f 选项一起使用。/hybrid 执行计算机关闭并进行准备以快速启动。必须与 /s 选项一起使用。/fw 与关闭选项结合使用,使下次启动转到固件用户界面。/e 记录计算机意外关闭的原因。/o 转到高级启动选项菜单并重新启动计算机。必须与 /r 选项一起使用。/m \\computer 指定目标计算机。/t xxx 将关闭前的超时时间设置为 xxx 秒。有效范围是 0-315360000 (10 年),默认值为 30。如果超时期限大于 0,则 /f 参数为/f 参数。/c "comment" 注释重启或关闭的原因。最多允许 512 个字符。/f 强制关闭正在运行的应用程序而不事先警告用户。当大于 0 的值为时,隐含 /f 参数 则默示为 /f 参数。/d [p|u:]xx:yy 提供重新启动或关闭的原因。p 指示重启或关闭是计划内的。u 指示原因是用户定义的。如果未指定 p 和 u,则
重新启动或关闭 是计划外的。xx 是主要原因编号(小于 256 的正整数)。yy 是次要原因编号(小于 65536 的正整数)。此计算机上的原因:
(E = 预期 U = 意外 P = 计划内,C = 自定义)
类别 主要 次要 标题U 0 0 其他(计划外)
E 0 0 其他(计划外)
E P 0 0 其他(计划内)U 0 5 其他故障: 系统没有反应
E 1 1 硬件: 维护(计划外)
E P 1 1 硬件: 维护(计划内)
E 1 2 硬件: 安装(计划外)
E P 1 2 硬件: 安装(计划内)
E 2 2 操作系统: 恢复(计划外)
E P 2 2 操作系统: 恢复(计划内)P 2 3 操作系统: 升级(计划内)
E 2 4 操作系统: 重新配置(计划外)
E P 2 4 操作系统: 重新配置(计划内)P 2 16 操作系统: Service Pack (计划内)2 17 操作系统: 热修补(计划外)P 2 17 操作系统: 热修补(计划内)2 18 操作系统: 安全修补(计划外)P 2 18 操作系统: 安全修补(计划内)
E 4 1 应用程序: 维护(计划外)
E P 4 1 应用程序: 维护(计划内)
E P 4 2 应用程序: 安装(计划内)
E 4 5 应用程序: 没有反应
E 4 6 应用程序: 不稳定U 5 15 系统故障: 停止错误U 5 19 安全问题(计划外)
E 5 19 安全问题(计划外)
E P 5 19 安全问题(计划内)
E 5 20 网络连接丢失(计划外)U 6 11 电源故障: 电线被拔掉U 6 12 电源故障: 环境P 7 0 旧版 API 关机
然后我们就知道用如下命令就可以高级启动
shutdown.exe -o -r -t 0
通过高级启动,然后选择疑难解答
-高级选项
-UEFI固件设置
,就可以进入BIOS了
windows设置中高级启动
如图,高级启动后同上。
在开机时狂按某个键进入BIOS
这个按键根据机型有所不同,可以自行查阅,以下是一些常用的:
机型 | 方式 |
---|---|
华硕Asus、神舟Hasee、小米、海尔、明基、技嘉、方正、清华同方、雷神、未来人类、外星人 | 启动时按F2 |
戴尔dell | 启动和重新启动时按F2 |
微星msi | 启动时按Delete |
惠普hp | 启动和重新启动时按F2或者F10,或者先按ESC再按F10 |
ibm/thinkpad | 冷开机按F1,部分新型号可以在重新启动时启动按F1,少数机型是Fn+F1或F2 |
1.2.3 关闭Fast boot
和Secure boot
这个根据主板BIOS的图形化界面有所不同,但多半都在Boot
这一栏目中,以下列举一下华硕的:
1.3 划分磁盘空间
在磁盘管理
中,划出一块分区用作Ubuntu的空间即可,不需要分配。下图我划出了100GB。
1.3.1 查看目前的虚拟内存大小
等会安装Ubuntu的时候,可能会需要手动分区,需要设置虚拟内存的大小,这里可以先查看win系统下的虚拟内存大小作为参考:
2.开始安装
2.1 使用启动盘启动
2.1.1 法一:BIOS调整启动顺序
关机进入BIOS,在Boot那一栏选择启动顺序,找到你的启动盘的名字,调整到最优先即可。
2.1.2 法二:使用windows高级启动直接进入启动盘
高级启动后,点击使用设备
即可。
2.2 语言
语言方面,对于自己英语有信心的可以选择英语。
2.3 联网
暂时先不要联网,不然等会会自动下载,安装会很慢。
选择最小安装
或者正常安装
都是可以的。
2.4 分区
2.4.1 与windows共存
网上很多教程都在极力劝说不要选择第一个选项与windows共存
,实际上,Ubuntu会自动检测空白的分区(就是我刚刚分配的100GB),并不会覆盖windows的文件数据。
在下图中,nvme1是我的第二块硬盘,我在windows下使用了nvme1p1分区,而Ubuntu很完美地避开了这一块区域,自动做出了相应的更改。
nvme
的意思是我的这块硬盘是nvme固态硬盘。p1
的意思是partition 1
,即第一分区。
2.4.2 如果要手动分区…
这里建议分三个区:
- 划出256MB用于
EFI系统分区
,逻辑分区,并设置安装启动引导器的设备
为你刚刚设置的EFI系统分区
的分区。这里千万不要让安装启动引导器的设备
和你的windows系统的efi启动分区
重合,否则你的两个系统都启动不了!
- 划出一些空间用于
交换空间
,逻辑分区,作为虚拟内存使用。分配的大小可以使用在1.3.1
中查看的推荐
。
- 其他所有空间都用于默认的
Ext4日志文件系统
,主分区,挂载点/
。
- 对于其他诸如
/usr
、/home
这样的挂载点,是可以不手动选择的。这样的话,/home
、/usr
这些目录就会自动与/
根目录共享一块磁盘的分区,这也是符合Windows用户的文件树方式。
主分区和逻辑分区
这里稍微解释一下主分区和逻辑分区的区别。对于一块硬盘来说,主分区只能有4个。 因此,我们最好把交换空间设置为逻辑分区。
在windows下,文件树是基于硬盘的分区的,windows系统会自动给硬盘的分区分配盘符。下面,我的C盘就是硬盘0的第0分区:
DISKPART> list disk磁盘 ### 状态 大小 可用 Dyn Gpt-------- ------------- ------- ------- --- ---磁盘 0 联机 476 GB 1024 KB *磁盘 1 联机 953 GB 1024 KBDISKPART> sel disk 0磁盘 0 现在是所选磁盘。DISKPART> list partition卷 ### LTR 标签 FS 类型 大小 状态 信息---------- --- ----------- ----- ---------- ------- --------- --------卷 0 C 这很C NTFS 磁盘分区 453 GB 正常 启动卷 1 RESTORE NTFS 磁盘分区 22 GB 正常卷 2 Z SYSTEM FAT32 磁盘分区 260 MB 正常 系统卷 3 RECOVERY NTFS 磁盘分区 750 MB 正常 已隐藏卷 4 MYASUS FAT32 磁盘分区 200 MB 正常 已隐藏卷 5 D NTFS 磁盘分区 953 GB 正常DISKPART>
而我C盘中的所有的目录,都在磁盘0的分区0之内,不可能在其他分区。
但是在Linux中,同一目录下的两个子目录可以分管磁盘的两个分区。比方说,/home
可以独占磁盘1的第1分区,/usr
也可以独占磁盘1的第2分区,但/home
和/usr
都是在根目录/
之下的。
3.完全卸载Ubuntu
3.1 删除Ubuntu分区
在磁盘管理
中,Ubuntu作为系统分区,是无法直接在图形化界面中操作的,如图中的win分区一样:
因此需要使用diskpart
工具去删除之前建立的分区:
以管理员权限
打开shell,列出所有磁盘(如果您有多个磁盘的话)并选中存放了Ubuntu的磁盘,然后,列出所有卷并逐一选中Ubuntu的分区删除。
DISKPART> list disk //列出所有磁盘
DISKPART> sel disk 1 //选中目标磁盘
DISKPART> list partition //列出磁盘所有分区
DISKPART> sel partition2 //选中目标分区
DISKPART> delete partition override //删除目标分区
然后就可以在磁盘管理中直接合并了,刚刚划出的100GB又回来了!
3.2 删除Ubuntu残余的efi引导(切记)
如果你忘记了删除Ubuntu残余的efi引导就关机,那么可以直接跳到此处了,你的windows系统已经进不去了!
以管理员权限
打开shell,找到并选中SYSTEM
分区,分配卷标,然后删除Ubuntu
。
PS C:\Users\Xu Han> diskpart.exeMicrosoft DiskPart 版本 10.0.22621.1Copyright (C) Microsoft Corporation.
在计算机上: LAPTOP-3V5JAOO8DISKPART> sel disk 0磁盘 0 现在是所选磁盘。DISKPART> list vol卷 ### LTR 标签 FS 类型 大小 状态 信息---------- --- ----------- ----- ---------- ------- --------- --------卷 0 C 这很C NTFS 磁盘分区 453 GB 正常 启动卷 1 RESTORE NTFS 磁盘分区 22 GB 正常卷 2 SYSTEM FAT32 磁盘分区 260 MB 正常 系统卷 3 RECOVERY NTFS 磁盘分区 750 MB 正常 已隐藏卷 4 MYASUS FAT32 磁盘分区 200 MB 正常 已隐藏卷 5 D NTFS 磁盘分区 853 GB 正常DISKPART> sel vol 2卷 2 是所选卷。DISKPART> assign letter=ZDiskPart 成功地分配了驱动器号或装载点。
分配完卷标后,再次用管理员权限打开shell,然后进入刚刚我们分配的卷标,删除即可:
PS C:\Users\Xu Han> cd Z:
PS Z:\> ls目录: Z:\Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2024/1/18 22:59 EFIPS Z:\> cd .\EFI
PS Z:\EFI> ls目录: Z:\EFIMode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2022/6/10 23:32 Microsoft
d----- 2024/1/18 22:59 Boot
d----- 2024/1/18 22:59 ubuntuPS Z:\EFI> rmdir .\ubuntu\确认
Z:\EFI\ubuntu\ 处的项具有子项,并且未指定 Recurse 参数。如果继续,所有子项均将随该项删除。是否确实要继续?
[Y] 是(Y) [A] 全是(A) [N] 否(N) [L] 全否(L) [S] 暂停(S) [?] 帮助 (默认值为“Y”): Y
这里千万别删错了,要是把Microsoft
删了,win系统就无法启动了!
4.基础环境配置
4.1 换源以及更新
如果不进行换源,使用apt
下载的速度将变得令人难以忍受的慢。
目前,换源完全只需要鼠标点点点就可以完成了,打开应用列表里的Software & Updates
,选择中国的镜像源即可,我这里选的mirror.nju.edu.cn
是南京大学的。
换好源之后输入以下两个指令去更新和升级:
sudo apt update
sudo apt upgrade
4.2 deb类应用安装
使用dpkg
命令即可。qq,网盘在官网下载的都是deb类文件。下面以qq为例子,官网下载好文件,终端输入指令即可,别忘记加上--install
或者-i
。
4.3 卸载以及清理
- 仅卸载
sudo apt remove <name of software>
以卸载qq为例:
sudo apt remove linuxqq
- 卸载并删除配置文件
sudo apt purge <name of software>
- 自动删除不再需要的软件包
sudo apt autoclean
- 删除已经安装过的软件包
sudo apt clean
- 自动删除不再需要的依赖
sudo apt autoremove
相关文章:

【Linux install】Ubuntu和win双系统安装及可能遇到的所有问题
文章目录 1.前期准备1.1 制作启动盘1.2关闭快速启动、安全启动、bitlocker1.2.1 原因1.2.2 进入BIOSshell命令行进入BIOSwindows设置中高级启动在开机时狂按某个键进入BIOS 1.2.3 关闭Fast boot和Secure boot 1.3 划分磁盘空间1.3.1 查看目前的虚拟内存大小 2.开始安装2.1 使用…...

Helm Dashboard — Kubernetes 中管理 Helm 版本的 GUI
Helm Dashboard 通过提供图形用户界面,使在 Kubernetes 中管理 Helm 版本变得更加容易,这是许多开发人员所期望的。它可用于在 Kubernetes 中创建、部署和更新应用程序的版本,并跟踪其状态。 本文将探讨 Helm Dashboard 提供的特性和优势&am…...
【Guava笔记01】Guava Cache本地缓存的常用操作方法
这篇文章,主要介绍Guava Cache本地缓存的常用操作方法。 目录 一、Guava Cache本地缓存 1.1、引入guava依赖 1.2、CacheBuilder类 1.3、Guava-Cache使用案例...

Flink(十三)【Flink SQL(上)SqlClient、DDL、查询】
前言 最近在假期实训,但是实在水的不行,三天要学完SSM,实在一言难尽,浪费那时间干什么呢。SSM 之前学了一半,等后面忙完了,再去好好重学一遍,毕竟这玩意真是面试必会的东西。 今天开始学习 Flin…...

Labview局部变量、全局变量、引用、属性节点、调用节点用法理解及精讲
写本章前想起题主初学Labview时面对一个位移台程序,傻傻搞不清局部变量和属性节点值有什么区别,概念很模糊。所以更新这篇文章让大家更具象和深刻的去理解这几个概念,看完记得点赞加关注喔~ 本文程序源代码附在后面,大家可以自行下…...
openssl3.2 - 官方demo学习 - signature - EVP_ED_Signature_demo.c
文章目录 openssl3.2 - 官方demo学习 - signature - EVP_ED_Signature_demo.c概述笔记END openssl3.2 - 官方demo学习 - signature - EVP_ED_Signature_demo.c 概述 ED25519 签名/验签算法, 现在是最好的. 产生ED25519私钥/公钥 用私钥对明文签名, 得到签名数据 用公钥对明文…...
AI辅助编程工具—Github Copilot
一、概述 Copilot是一种基于Transformer模型的神经网络,具有12B个参数。是GitHub和OpenAPI共同开发的编程辅助工具。GitHubCopilot是一款由人工智能驱动的结对编程编辑器,旨在帮助开发人员更加高效地工作。它利用OpenAICodex技术,将开发…...

三大3D引擎对比,直观感受AMRT3D渲染能力
作为当前热门的内容呈现形式,3D已经成为了广大开发者、设计师工作里不可或缺的一部分。 用户对于3D的热衷,源于其带来的【沉浸式体验】和【超仿真视觉效果】。借此我们从用户重点关注的四个3D视觉呈现内容: 材质- 呈现多元化内容水效果- 展…...

k8s之对外服务ingress
一、service 1、service作用 ①集群内部:不断跟踪pod的变化,不断更新endpoint中的pod对象,基于pod的IP地址不断变化的一种服务发现机制(endpoint存储最终对外提供服务的IP地址和端口) ②集群外部:类似负…...

Ubuntu使用docker-compose安装mysql8或mysql5.7
ubuntu环境搭建专栏🔗点击跳转 Ubuntu系统环境搭建(十四)——使用docker-compose安装mysql8或mysql5.7 文章目录 Ubuntu系统环境搭建(十四)——使用docker-compose安装mysql8或mysql5.7MySQL81.新建文件夹2.创建docke…...

【办公类-21-02】20240118育婴员操作题word打印2.0
作品展示 把12页一套的操作题批量制作10份,便于打印 背景需求 将昨天整理的育婴师操作题共享, 因为题目里面有大量的红蓝颜色文字,中大班办公室都是黑白单面手动翻页打印。只有我待的教务室办公室有彩色打印机打印(可以自动双面…...

SpringMVC 文件上传和下载
文章目录 1、文件下载2、文件上传3. 应用 Spring MVC 提供了简单而强大的文件上传和下载功能。 下面是对两者的简要介绍: 文件上传: 在Spring MVC中进行文件上传的步骤如下: 在表单中设置 enctype“multipart/form-data”,这样…...

强缓存、协商缓存(浏览器的缓存机制)是么子?
文章目录 一.为什么要用强缓存和协商缓存?二.什么是强缓存?三.什么是协商缓存?四.总结 一.为什么要用强缓存和协商缓存? 为了减少资源请求次数,加快资源访问速度,浏览器会对资源文件如图片、css文件、js文…...
android 13.0 Camera2 去掉后置摄像头 仅支持前置摄像头功能
1.概述 在定制化13.0系统rom定制化开发中,当产品只有一个前置摄像头单摄像头,这时调用相机时就需要默认打开前置摄像头就需要来看调用摄像头这块的代码,屏蔽掉后置摄像头的调用api就可以了,接下来就来具体实现相关功能的开发 2.Camera2 去掉后置摄像头 仅支持前置摄像头功…...

【蓝桥杯EDA设计与开发】立创开源社区分享的关于蓝桥被EDA真题与仿真题的项目分析
立创开源社区内有几个项目分享了往年 EDA 设计题目与仿真题,对此展开了学习。 【本人非科班出身,以下对项目的学习仅在我的眼界范围内发表意见,如有错误,请指正。】 项目一 来源:第十四届蓝桥杯EDA赛模拟题一 - 嘉立…...

电影《潜行》中说的蜜罐是什么(网络安全知识)
近期刘德华、彭于晏主演的电影《潜行》在网上掀起了轩然大波,电影中有提到网络蜜罐,这引起了很多观众的疑问,蜜罐到底是什么? 从字面意思上来看,蜜罐就是为黑客设下的诱饵。这是一种具有牺牲性质的计算机系统ÿ…...

基于 UniAPP 社区论坛项目多端开发实战
社区论坛项目多端开发实战 基于 UniAPP 社区论坛项目多端开发实战一、项目准备1.1 ThinkSNS 简介及相关文档1.2 使用 UniAPP 构建项目1.3 构建项目文件结构1.4 配置页面 TabBar 导航1.5 使用 npm 引入 uView UI 插件库 二、首页功能实现2.1 首页 header 广告位轮播图功能实现2.…...

Ubuntu 22.04 安装MySql
MySQL是非常常用的关系型数据库,无论是大厂还是小厂,都有它的身影。最大的优点是免费,安装起来也比较简单。 MySQL的架构 画了个简图,描述了下MySQL的架构。 其中的比较有趣的点在于连接池和存储引擎。连接池缓存了数据库和客户端的TCP连接,以减少建立连接的开销。存储引…...
Centos常用命令整理,常用的比较全了
目 录 1、更改文件拥有者 2、修改权限 3、修改⽂件⽇期 4、链接⽂件 5、⽇期操作 6、显⽰⽇历 7、显⽰⽂件头部 8、显⽰⽂件尾部 9、显⽰⽤户标识 10、查看当前登录的⽤户 11、显⽰都谁登录到机器上 12、显⽰当前终端上的⽤户名 13、寻找⽂件…...

专业137总分439东南大学920专业基础综合考研经验电子信息与通信电路系统芯片
我本科是南京信息工程大学,今年报考东南大学信息学院,成功逆袭,专业137,政治69,英语86,数一147,总分439。以下总结了自己的复习心得和经验,希望对大家复习有一点帮助。啰嗦一句&…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...

地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...

shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...

(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...