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

Conda答疑

文章目录

  • 优雅的使用Conda管理python环境
    • 1. conda info -e 和conda env list区别
    • 2.conda创建环境 创建的新环境在哪个文件夹下
    • 3. 自定义路径
    • 4. anaconda 新建环境 包是来自哪里
      • 4.1. 默认 Anaconda 仓库
      • 4.2. Conda-Forge
      • 4.3. 镜像源
      • 4.4. 自定义频道
      • 4.5. 总结
    • 5. conda config --add channels conda-forge 这是什么意思
      • 详细解释:
      • 效果:
      • 使用场景:
      • 检查添加的频道:
    • 6. conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --set show_channel_urls yes 什么意思
      • 详细解释:
        • 1. 添加清华镜像源
        • 2. 显示包的来源 URL
      • 总结:
    • 7. conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ 这是全局的吗?
    • 8. 我不想设置清华镜像 我只想在安装三方包的时候 输入镜像的地址
      • 方法:
      • 示例:
      • 特点:
      • 适用场景:
    • 9. conda如何安装别人的conda项目
      • 一般流程:
      • 额外操作:
      • 总结
    • 10. pycharm中使用anacoda
    • 为什么anaconda环境中,还需要用[pip安装](https://so.csdn.net/so/search?q=pip安装&spm=1001.2101.3001.7020)包,此情况下用pip需要哪些注意项
    • 11. 一打开终端就默认进入conda的base环境,取消方法

优雅的使用Conda管理python环境

https://ckfanzhe.github.io/About_conda/

1. conda info -e 和conda env list区别

conda info -econda env list 都用于查看当前的 Conda 环境列表,但它们有一些小的差别:

  1. conda info -e:

    • -e--envs 的缩写。
    • 这个命令用于列出所有已经创建的 Conda 环境。
    • 它显示的环境列表仅包含环境的名称及其路径。
    • 是一种较老的用法。

    示例输出:

    conda info -e
    #
    base                  *  /path/to/miniconda3
    my_env                   /path/to/miniconda3/envs/my_env
    
  2. conda env list:

    • 这是一个更现代的命令,用于列出所有 Conda 环境。
    • 功能与 conda info -e 类似,也列出环境的名称和路径。
    • 这是更推荐的方式,随着 Conda 的更新,conda env list 逐渐成为标准用法。

    示例输出:

    conda env list
    #
    base                  *  /path/to/miniconda3
    my_env                   /path/to/miniconda3/envs/my_env
    

总结:两者功能几乎相同,但 conda env list 是更现代且推荐的用法,而 conda info -e 是一种老的命令方式。

2.conda创建环境 创建的新环境在哪个文件夹下

Conda 创建的新环境默认位于 Conda 安装目录的 envs 文件夹下。

具体路径如下:

  • 如果你安装了 MinicondaAnaconda,默认环境会被创建在 miniconda3/envs/anaconda3/envs/ 目录下。
  • 例如,base 环境的默认路径是 miniconda3/,而新环境会被创建在 miniconda3/envs/<环境名称>/ 中。

你可以通过以下命令查看 Conda 安装路径:

conda info --base

3. 自定义路径

如果你想将环境创建在指定的路径,可以使用 -p 参数来指定路径:

conda create -p /custom/path/my_env

这样,环境会被创建在 /custom/path/my_env 目录下。

4. anaconda 新建环境 包是来自哪里

当你在 Anaconda 中创建一个新的环境时,环境中的包通常来自以下几种来源:

4.1. 默认 Anaconda 仓库

  • 新环境的包默认来自 Anaconda 官方的包仓库,位于 https://repo.anaconda.com/pkgs/

  • Conda 通过 defaults 频道(channel)从这个仓库中下载和安装包,这也是 Conda 默认的包来源。

  • 你可以通过以下命令查看默认的仓库来源:

    conda config --show channels
    

4.2. Conda-Forge

  • 另一个非常流行的包仓库是 Conda-Forge,这是一个社区驱动的 Conda 包仓库,包含大量用户贡献的包。

  • 如果你想从 Conda-Forge 安装包,可以通过以下命令将它添加为包来源:

    conda config --add channels conda-forge
    

4.3. 镜像源

  • 在国内,由于网络限制,很多用户会配置清华、阿里云等镜像源,以加速包的下载。

  • 如果你使用国内镜像源,包会从这些镜像下载,而不是直接从 Anaconda 官方仓库下载。

  • 配置国内镜像源的例子(以清华镜像为例):

    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    conda config --set show_channel_urls yes   # 这条命令设置 Conda 在输出软件包信息时显示源的 URL。启用此选项后,安装或更新软件包时,你将看到每个软件包来自哪个源,这对于调试和确认使用的源很有帮助。
    

4.4. 自定义频道

  • 你还可以指定其他的自定义频道(例如企业内部的私有包仓库),从这些自定义渠道获取包。

创建频道:可以在 GitHub、Bitbucket 等平台上托管你的包,或者使用你自己的服务器。

上传包:将 Conda 包上传到你的自定义频道中。

配置 Conda 使用自定义频道

  1. 使用命令 conda config --add channels <你的频道 URL> 来添加你的频道。
  2. 可以使用 conda config --set channel_priority strict 设置优先级。

安装包:使用 conda install <包名> 安装时,Conda 会优先从你自定义的频道中寻找软件包

4.5. 总结

  • 默认来源 是 Anaconda 官方仓库的 defaults 频道。
  • 你可以通过添加 conda-forge 或其他镜像源,改变包的来源,甚至配置私有包仓库作为额外来源。

你可以随时通过 conda config --show channels 查看当前配置的包来源。

5. conda config --add channels conda-forge 这是什么意思

命令 conda config --add channels conda-forge 的作用是将 Conda-Forge 频道(channel)添加到 Conda 包管理器的频道列表中。这样,当你使用 conda install 安装包或者创建新环境时,Conda 可以从 Conda-Forge 仓库中寻找和下载软件包。

详细解释:

  1. conda config:
    • 用于配置 Conda 的各种设置,像是频道、环境路径等。
  2. --add channels:
    • 表示你要添加一个新的包来源(即频道),从该频道中可以下载和安装包。
  3. conda-forge:
    • Conda-Forge 是一个社区维护的 Conda 仓库,它包含大量由社区贡献的 Conda 包。很多包在这个仓库更新速度较快,并且一些特殊或较新的包往往只有在 Conda-Forge 上可以找到。

效果:

执行 conda config --add channels conda-forge 后,Conda 会在默认频道(如 defaults)之外,先去 Conda-Forge 中寻找包。如果你安装的包在默认频道找不到,Conda 将会从 Conda-Forge 仓库下载和安装该包。

使用场景:

  • 当某些软件包无法在默认频道 defaults 中找到,或希望从 Conda-Forge 获得最新版本时,可以使用此命令。
  • Conda-Forge 是开源的,包更新更频繁,因此它也是很多开发者首选的包来源。

检查添加的频道:

你可以通过以下命令查看当前 Conda 配置的频道列表:

conda config --show channels

输出可能会是这样:

  - conda-forge- defaults

这意味着 Conda 将优先从 conda-forge 安装包,其次才会使用默认的 defaults 频道。

6. conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --set show_channel_urls yes 什么意思

这两个命令的作用是:

  1. conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/:
    • 添加清华镜像源 作为 Conda 的包下载渠道。
    • Conda 默认从官方的 repo.anaconda.com 下载包,但由于网络问题,国内用户可能会遇到下载缓慢的情况。使用清华大学提供的 Anaconda 镜像源 能大幅加速下载速度。
    • 该命令将清华镜像的免费包来源 (pkgs/free) 添加到 Conda 的频道列表中,这样当你创建环境或安装包时,Conda 可以直接从这个镜像下载包。
  2. conda config --set show_channel_urls yes:
    • 设置 Conda 在安装包时显示每个包的 来源 URL
    • 启用这个设置后,当你运行 conda install 安装包时,Conda 会显示每个包从哪个具体的频道下载(包括具体的 URL),帮助你更清楚了解包的来源信息。

详细解释:

1. 添加清华镜像源
  • 默认情况下,Conda 从官方的 Anaconda 仓库(repo.anaconda.com)下载包,但国内网络不稳定,下载可能会比较慢。

  • 清华大学的 TUNA 镜像站提供了 Anaconda 的镜像,通过这个命令,Conda 会优先从这个镜像中寻找和下载包,提升下载速度。

    命令:

    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    

    会将清华的 free 频道添加到你的频道列表里。

2. 显示包的来源 URL
  • show_channel_urls 是 Conda 的一个配置选项,控制是否显示包的来源 URL。

  • 设置为 yes 后,Conda 在安装或更新包时,会显示每个包是从哪个频道下载的,帮助你确认包的来源是否是你期望的频道。

    命令:

    conda config --set show_channel_urls yes
    

    这样,当你运行 conda install 时,输出可能会显示类似这样的信息:

      numpy: 1.20.3  https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/pandas: 1.2.4  https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    

    它会告诉你包的确切来源。

总结:

  • 第一条命令 将清华大学的 Anaconda 镜像源添加为 Conda 包的下载渠道,帮助提升下载速度。
  • 第二条命令 设置 Conda 显示包的下载 URL,帮助你确认包从哪个频道下载,有助于调试和透明化安装过程。

7. conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ 这是全局的吗?

  • 是的,conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ 是全局配置。这意味着添加的频道将适用于所有使用该 Conda 安装的环境和项目。如果你只想在特定环境中使用频道,可以在激活该环境后使用相同的命令,但会在该环境的配置中生效。

8. 我不想设置清华镜像 我只想在安装三方包的时候 输入镜像的地址

如果你不想全局或局部配置清华镜像,只想在安装第三方包时临时指定镜像地址,可以在运行 conda install 命令时通过 -c 参数指定镜像地址。

方法:

使用以下命令,在安装某个包时临时指定镜像地址:

conda install -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ <package_name>

示例:

比如你想从清华镜像安装 numpy 包,可以这样运行:

conda install -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ numpy

特点:

  • 临时生效:该镜像地址只在这个安装命令中生效,不会影响全局配置。安装完成后,Conda 仍会使用默认的官方源或其他配置的源。
  • 适用于一次性操作:只在你明确希望从特定镜像下载时才使用,不会永久更改 Conda 配置。

适用场景:

  • 当你只需要临时使用某个镜像源时,例如网络不稳定,临时切换到国内镜像加速包下载。
  • 不希望修改 Conda 的全局配置,避免对其他环境或将来的操作产生影响。

总结:通过 -c 参数,你可以在安装包时灵活指定镜像地址,而不需要修改全局或局部的 Conda 配置。

9. conda如何安装别人的conda项目

要安装和运行别人的 Conda 项目,通常需要通过以下几个步骤完成。这些步骤帮助你在本地创建与项目依赖一致的 Conda 环境。

一般流程:

  1. 获取项目代码

    • 通常通过 git clone 或从其他地方下载项目的代码。

    • 示例:

      bash复制代码git clone <项目的Git仓库地址>
      cd <项目文件夹>
      
  2. 检查项目的环境依赖

    • 项目通常包含一个

      环境文件

      ,用来定义项目所需的依赖库。常见的环境文件包括:

      • environment.yml 文件(Conda 环境文件)
      • requirements.txt 文件(Pip 依赖文件,可能存在)
    • environment.yml 是最常见的 Conda 项目依赖文件,通常包含了 Conda 环境的名称、所需的包以及 Python 版本等。

  3. 创建 Conda 环境

    • 如果项目提供了 environment.yml 文件,可以直接使用该文件来创建一个新的 Conda 环境。
    conda env create -f environment.yml
    

    该命令会读取 environment.yml 文件并安装其中列出的所有依赖包,创建一个与项目兼容的环境。

    • 如果项目没有 environment.yml 文件,但提供了 requirements.txt,你可以先手动创建环境,再通过 Pip 安装依赖:
    conda create -n <环境名称> python=<版本>
    conda activate <环境名称>
    pip install -r requirements.txt
    
  4. 激活环境

    • 创建环境后,你需要激活它来运行项目代码:
    conda activate <环境名称>
    
  5. 运行项目

    • 激活环境后,项目的依赖已经就绪,可以直接运行项目中的 Python 脚本,或者根据项目的文档运行项目。例如:
    python <主脚本文件>.py
    

额外操作:

  • 更新环境 如果 environment.yml 文件发生变化或有新的依赖加入,你可以通过以下命令更新现有环境:

    conda env update --file environment.yml --prune
    
  • 环境导入 如果对方提供了一个 Conda 导出的环境文件(通过 conda env export 生成的),你可以使用这个文件恢复一个完整的环境。此文件通常会列出所有具体的包版本:

    conda env create -f environment.yml
    

总结

  1. 克隆项目:获取代码。
  2. 创建环境:使用 environment.yml 文件创建 Conda 环境。
  3. 激活环境:激活并运行项目。

通过这些步骤,你可以轻松安装和运行别人发布的 Conda 项目。

10. pycharm中使用anacoda

在这里插入图片描述

为什么anaconda环境中,还需要用pip安装包,此情况下用pip需要哪些注意项

  1. anaconda本身只提供部分包,远没有pip提供的包多,有时conda无法安装我们需要的包,我们需要用pip将其装到conda环境里。

  2. 首先,我们需要判断目前我们用的pip指令,会把包装到哪里,通常情况下,pip不像conda一样,他不知道环境,我们首先要确保我们用的是本环境的pip,这样pip install时,包才会创建到本环境中,不然包会创建到base环境,供各个不同的其他conda环境共享,此时可能会产生版本冲突问题(不同环境中可能对同一个包的版本要求不同)

  3. 用下面命令查看我们此时用的pip为哪个环境:

    where pip
    

11. 一打开终端就默认进入conda的base环境,取消方法

安装conda之后,在使用VSCode的时候,每次在里面使用powershell终端都是默认进入base环境,稍不注意就会用错python解释器,所以考虑取消这一设置。经过查看官方文档和自己尝试,有两种方法。

在终端修改配置
conda官方文档中有conda config 的相关使用介绍,其中有conda config --show的说明:
Display configuration values as calculated and compiled. If no arguments given,
show information for all configuration values.

所以在终端输入conda config --show,会显示所有的配置信息。注意到有:

然后就可以利用conda config --set来修改此配置:

conda config --set auto_activate_base false

然后重启终端即可

相关文章:

Conda答疑

文章目录 优雅的使用Conda管理python环境1. conda info -e 和conda env list区别2.conda创建环境 创建的新环境在哪个文件夹下3. 自定义路径4. anaconda 新建环境 包是来自哪里4.1. 默认 Anaconda 仓库4.2. Conda-Forge4.3. 镜像源4.4. 自定义频道4.5. 总结 5. conda config --…...

Python 工具库每日推荐【PyPDF2】

文章目录 引言Python PDF 处理库的重要性今日推荐:PyPDF2 工具库主要功能:使用场景:安装与配置快速上手示例代码代码解释实际应用案例案例:PDF文件合并案例分析高级特性加密和解密PDF添加水印扩展阅读与资源优缺点分析优点:缺点:总结【 已更新完 TypeScript 设计模式 专栏…...

Nacos的应用

什么是nacos&#xff1f; Nacos是一个开源的动态服务发现&#xff0c;配置管理和服务治理平台。主要用于构建原生应用和微服务架构。它是阿里巴巴开源的项目&#xff0c;整合了配置管理&#xff0c;服务管理&#xff0c;服务发现的功能&#xff0c;核心价值在于帮助用户在云平…...

CSS圆角

在制作网页的过程中&#xff0c;有时我们可能需要实现圆角的效果&#xff0c;以前的做法是通过切图&#xff08;将设计稿切成便于制作成页面的图片&#xff09;&#xff0c;使用多个背景图像来实现圆角。在 CSS3 出现之后就不需要这么麻烦了&#xff0c;CSS3 中提供了一系列属性…...

信息安全工程师(37)防火墙概述

前言 防火墙是一种网络安全系统&#xff0c;旨在监控和控制网络流量&#xff0c;根据预定义的安全规则决定是否允许数据包的传输。 一、定义与功能 定义&#xff1a;防火墙是网络安全的第一道防线&#xff0c;由硬件设备和软件系统共同构成&#xff0c;位于外网与内网之间、公共…...

多元化网络团队应对复杂威胁

GenAI、ML 和 IoT 等技术为威胁者提供了新的工具&#xff0c;使他们更容易针对消费者和组织发起攻击。 从诱骗受害者陷入投资骗局的Savvy Seahorse &#xff0c;到使用 ChatGPT 之类的程序感染计算机并阅读电子邮件的自我复制 AI 蠕虫&#xff0c;新的网络威胁几乎每天都在出现…...

Observer(观察者模式)

1. 意图 定义对象间的一种一对多的依赖关系&#xff0c;当一个对象的状态发生改变时&#xff0c;所有依赖于它的对象都得到通知并被自动更新。 在观察者模式中&#xff0c;有两类对象&#xff1a;被观察者&#xff08;Subject&#xff09;和观察者&#xff08;Observer&#xf…...

Python深度学习进阶与前沿应用:注意力机制、Transformer模型、生成式模型、目标检测算法、图神经网络、强化学习等

近年来&#xff0c;伴随着以卷积神经网络&#xff08;CNN&#xff09;为代表的深度学习的快速发展&#xff0c;人工智能迈入了第三次发展浪潮&#xff0c;AI技术在各个领域中的应用越来越广泛。为了帮助广大学员更加深入地学习人工智能领域最近3-5年的新理论与新技术&#xff0…...

24.1 prometheus-exporter管理

本节重点介绍 : exporter 流派 必须和探测对象部署在一起的1对多的远端探针模式 exporter管控的难点 1对1 的exporter 需要依托诸如 ansible等节点管理工具 &#xff0c;所以应该尽量的少 1对1的exporter改造成探针型的通用思路 exporter 流派 必须和探测对象部署在一起的…...

【Arduino IDE安装】Arduino IDE的简介和安装详情

目录 &#x1f31e;1. Arduino IDE概述 &#x1f31e;2. Arduino IDE安装详情 &#x1f30d;2.1 获取安装包 &#x1f30d;2.2 安装详情 &#x1f30d;2.3 配置中文 &#x1f30d;2.4 其他配置 &#x1f31e;1. Arduino IDE概述 Arduino IDE&#xff08;Integrated Deve…...

『网络游戏』自适应制作登录UI【01】

首先创建项目 修改场景名字为SceneLogin 创建一个Plane面板 - 将摄像机照射Plane 新建游戏启动场景GameRoot 新建空节点重命名为GameRoot 在子级下创建Canvas 拖拽EventSystem至子级 在Canvas子级下创建空节点重命名为LoginWnd - 即登录窗口 创建公告按钮 创建字体文本 创建输入…...

用Manim简单解释奇异值分解(SVD)和图像处理方面的应

一&#xff0c;介绍 奇异值分解&#xff08;SVD&#xff09;是一种重要的矩阵分解技术&#xff0c;在统计学、信号处理和机器学习等领域有广泛应用。对于任意给定的矩阵 A&#xff08;可以是任意形状的矩阵&#xff09;&#xff0c;SVD将其分解为三个特定的矩阵的乘积&#x…...

红外变电站分割数据集,标注为json格式,总共有5类,避雷器(289张),绝缘子(919张),电流互感器(413张),套管(161张),电压互感器(153张)

红外变电站分割数据集&#xff0c;标注为json格式&#xff0c;总共有5类 避雷器&#xff08;289张&#xff09;&#xff0c;绝缘子&#xff08;919张&#xff09;&#xff0c;电流互感器&#xff08;413张&#xff09;&#xff0c;套管&#xff08;161张&#xff09;&#xff0…...

HBase 性能优化 详解

HBase 是基于 Hadoop HDFS 之上的分布式 NoSQL 数据库&#xff0c;具有高伸缩性和强大的读写能力。然而&#xff0c;由于其分布式架构和复杂的数据存储模式&#xff0c;在高并发、大规模数据场景下&#xff0c;HBase 性能优化至关重要。从底层原理和源代码层面理解 HBase 的特性…...

杭电2041-2050

2041 这里进入递归专题了 #include<bits/stdc.h> #include<iostream> //简单递归 using namespace std; long long int M[45]; int main() {int n;M[1]1;M[2]1;for(int i3;i<45;i){M[i]M[i-1]M[i-2];}while(cin>>n){while(n--){int m;cin>>m;cout…...

Ambari搭建Hadoop集群 — — 问题总结

Ambari搭建Hadoop集群 — — 问题总结 一、部署教程&#xff1a; 参考链接&#xff1a;基于Ambari搭建大数据分析平台-CSDN博客 二、问题总结&#xff1a; 1. VMwear Workstation 查看网关 2. 资源分配 参考&#xff1a; 硬盘&#xff1a;master&#xff08;29 GB&#xff…...

如何用python抓取豆瓣电影TOP250

1.如何获取网站信息&#xff1f; &#xff08;1&#xff09;调用requests库、bs4库 #检查库是否下载好的方法&#xff1a;打开终端界面&#xff08;terminal&#xff09;输入pip install bs4, 如果返回的信息里有Successfully installed bs4 说明安装成功&#xff08;request…...

鸽笼原理与递归 - 离散数学系列(四)

目录 1. 鸽笼原理 鸽笼原理的定义 鸽笼原理的示例 鸽笼原理的应用 2. 递归的定义与应用 什么是递归&#xff1f; 递归的示例 递归与迭代的对比 3. 实际应用 鸽笼原理的实际应用 递归的实际应用 4. 例题与练习 例题1&#xff1a;鸽笼原理应用 例题2&#xff1a;递归…...

Ubuntu 20.04常见配置(含yum源替换、桌面安装、防火墙设置、ntp配置)

Ubuntu 20.04常见配置 1. yum源配置2. 安装桌面及图形化2.1 安装图形化桌面2.1.1 选择安装gnome桌面2.1.2 选择安装xface桌面 2.2 安装VNC-Server 3. ufw防火墙策略4. 时区设置及NTP时间同步4.1 时区设置4.2 NTP安装及时间同步4.2.1 服务端&#xff08;例&#xff1a;172.16.32…...

AI学习指南深度学习篇-生成对抗网络的基本原理

AI学习指南深度学习篇-生成对抗网络的基本原理 引言 生成对抗网络&#xff08;Generative Adversarial Networks, GANs&#xff09;是近年来深度学习领域的一个重要研究方向。GANs通过一种创新的对抗训练机制&#xff0c;能够生成高质量的样本&#xff0c;其应用范围广泛&…...

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手&#xff1a;借助大模型技术&#xff0c;开发能根据用户输入的主题、风格等要求&#xff0c;生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用&#xff0c;帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

Device Mapper 机制

Device Mapper 机制详解 Device Mapper&#xff08;简称 DM&#xff09;是 Linux 内核中的一套通用块设备映射框架&#xff0c;为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程&#xff0c;并配以详细的…...

Python ROS2【机器人中间件框架】 简介

销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...

《C++ 模板》

目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板&#xff0c;就像一个模具&#xff0c;里面可以将不同类型的材料做成一个形状&#xff0c;其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式&#xff1a;templa…...