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

【java开发环境】多版本jdk 自由切换window和linux

win10

一、准备
各种版本的jdk,按自己的需要下载。

我这里是需要jdk17和jdk8。

1、jdk17
下载:Java Downloads | Oracle,选择exe后缀文件

2、jdk8下
载:Java Downloads | Oracle,选择exe后缀文件

二、详细步骤
1、安装jdk
很简单,双击exe文件后全部默认下一步即可,安装的时候记住安装路径。

如果想卸载,按照正常应用的卸载方式即可。

2、设置环境变量
2.1 删除jdk安装时自动添加的环境变量

操作位置:系统—关于—高级系统设置—环境变量—系统变量

删除Path变量中类似于:C:\Program Files\Common Files\Oracle\Java\javapath 的变量值,不一定一模一样,但格式大同小异

2.2 添加Path变量值

%JAVA_HOME%\bin

%JAVA_HOME%\jre\bin

2.3 添加CLASSPATH(一定要完全复制哦,不要忽略一开始的 .;%)

变量名:CLASSPATH

变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

2.4 添加JAVA_HOME17

变量名:JAVA_HOME17

变量值:C:\Program Files\Java\jdk-17

变量值就是之前让记住的jdk安装路径,一般都默认安装在C:\Program Files\Java下。

2.5 设置JAVA_HOME

变量名:JAVA_HOME

变量值:%JAVA_HOME17%

最后要点击确定保存配置,到这里java17的环境就配置好了,其他版本的jdk配置步骤和这个相同。

Path变量除了要删除每次安装jdk产生的变量值之外,不用重复添加%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin,CLASSPATH和JAVA_HOME17也只用配置一次,后面无需修改。

如果要配置java8的话,只需要新增变量名为JAVA_HOME8的变量,并将JAVA_HOME变量的变量值修改为%JAVA_HOME8%即可。

三、测试
1、如图,我这里已经同时安装好了jdk17和jdk8,并配置好了环境变量。

2、此时已经切换成java17,在命令行查看Java版本。

java -version

3、切换为java8

4、重新打开命令行,查看java版本。

每次切换,一定要关闭并重新打开命令行才可成功,每次改完环境变量后,要点击确定保存生效。

可能出错误 1

场景描述:我之前用的JDK是1.8版本的,但是项目变化后需要使用17版本的,我随后加下载并安装了17版本的,环境变量配置也更改好了,命令行输入:java -version后发现出来的还是1.8版本
我的问题导致的原因:
Oracle在使用过JDK后就会将JDK的配置写到配置文件中,
若是Oracle的环境变量配置在JDK的变量前时将会被Oracle的配置信息加载覆盖掉
因此,解决办法就是
将Oracle的环境变量放到JDK环境变量之后即可~

修改后的:

Linux

1.下载页面 Java Downloads | Oracle
2.安装jdk 
      说明:

                以下目录均为本次安装目录 具体目录需要以实际为主

                npm安装会自动安装在/usr/java

                tar -zxvf 可以指定安装目录

      2.1 使用 npm命令安装jdk8
         rpm -ivh  jdk-8u411-linux-x64.rpm

      2.2 切换到cd  /usr/java路径下查看集体文件名

        [root@i rpm]# cd /usr/java
        [root@i java]# ll
        total 0
        lrwxrwxrwx 1 root root 16 Jul  1 15:06 default -> /usr/java/latest
        lrwxrwxrwx 1 root root 30 Jul  1 15:06 jdk-17 -> /usr/lib/jvm/jdk-17-oracle-x64
        lrwxrwxrwx 1 root root 31 Jul  1 15:26 jdk1.8.0-x64 -> /usr/lib/jvm/jdk-1.8-oracle-x64
        lrwxrwxrwx 1 root root 30 Jul  1 15:26 latest -> /usr/lib/jvm/jdk-17-oracle-x64
      2.3 将JDK8使用软连接并交由alternatives管理
         alternatives --install /usr/bin/java java /usr/java/jdk1.8.0-x64/bin/java 3
   解释:3: 表示该程序的优先级,当有多个可选项时,数字越大,优先级越高
      2.4 使用 npm命令安装jdk17
          rpm -ivh  jdk-17_linux-x64_bin.rpm
      2.5 将JDK17使用软连接并交由alternatives管理
        alternatives --install /usr/bin/java java /usr/java/jdk-17/bin/java 4
      2.6 使用alternatives命令切换jdk
        alternatives --config java
3.使用java命令验证当前jdk的版本
java -version
4.使用alternatives --remove删除某版本
alternatives --remove java /usr/java/jdk1.8.0-x64/bin/java
5.tar -xvzf 安装基本操作基本一致不在做详细说明
     5.1 主要安装命令目录有所改变如下命令
 tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/local/jdk 
6.alternatives的一些命令介绍
# 1. --install 新注册一个group到generic name中
#alternatives --install <link> <name> <path> <priority>
# 2. --display name 显示某个通用名字中包含的组以及各个组的优先级、主从链接
# 3. --list 列出alternative系统中所有的组
# 4. --config name 交互式更改某个通用名字中的默认组;也可以
# 5. --set name path 直接设置默认组(这里的path是组中的master link的实际路径)
# 6. --auto name 把name的模式设为自动
# 7. --remove name path 删除某个组 name + path 可以唯一标识一个组

在Linux操作系统中,很多时候我们需要安装和卸载不同的软件包,其中JDK(Java Development Kit)是一个非常重要的软件包,它包含了运行Java程序所需的一切工具和库。在Linux系统中,我们通常会使用RPM(Red Hat Package Manager)来安装和卸载软件包。

在卸载JDK之前,我们首先需要确定JDK的安装路径。通常情况下,JDK默认安装在“/usr/java/”目录下。我们可以通过以下命令来确认JDK的安装路径:

```
ls /usr/java/
```

如果JDK安装在其他路径下,我们可以通过在终端中输入“java -version”命令来获取JDK的安装路径。然后,我们可以使用以下命令来卸载JDK软件包:

```
rpm -qa | grep jdk
```

这个命令将列出已安装在系统中的所有与JDK相关的软件包。然后,我们可以使用以下命令来卸载JDK软件包:

```
rpm -e
```

其中“”是我们在上一步中列出的JDK软件包的名称。通过执行这个命令,我们可以将JDK软件包从系统中完全卸载掉。

在卸载JDK软件包之后,我们还可以通过以下命令来验证JDK是否已被成功卸载:

```
java -version
```

如果系统显示类似“command not found”等信息,说明JDK已被成功卸载。另外,我们还可以通过以下命令来查看系统中是否还存在任何与JDK相关的文件:

```
find / -name "*jdk*"
```

如果在系统中依然存在与JDK相关的文件,我们可以手动删除这些文件以完成卸载操作。

总的来说,使用RPM来卸载JDK软件包是一种简单有效的方法。我们只需要通过几条简单的命令就可以将JDK从系统中完全移除。这样不仅能够释放系统资源,还能够确保系统的干净与稳定。希望以上内容对你有所帮助
 

相关文章:

【java开发环境】多版本jdk 自由切换window和linux

win10 一、准备 各种版本的jdk&#xff0c;按自己的需要下载。 我这里是需要jdk17和jdk8。 1、jdk17 下载&#xff1a;Java Downloads | Oracle&#xff0c;选择exe后缀文件 2、jdk8下 载&#xff1a;Java Downloads | Oracle&#xff0c;选择exe后缀文件 二、详细步骤 1、…...

MySQL实训项目——餐饮点餐系统

项目简介&#xff1a;餐饮点餐系统是一款为餐厅和顾客提供便捷点餐服务的在线平台。通过该系统&#xff0c;餐厅能够展示其菜单&#xff0c;顾客可以浏览菜品&#xff0c;并将其加入购物车或直接下单。系统还提供了订单管理功能&#xff0c;方便餐厅跟踪和处理顾客的订单。 1. …...

昇思MindSpore学习总结七——模型训练

1、模型训练 模型训练一般分为四个步骤&#xff1a; 构建数据集。定义神经网络模型。定义超参、损失函数及优化器。输入数据集进行训练与评估。 现在我们有了数据集和模型后&#xff0c;可以进行模型的训练与评估。 2、构建数据集 首先从数据集 Dataset加载代码&#xff0…...

AI时代创新潮涌,从探路到引路,萤石云引领千行百业创新

步入AI新时代&#xff0c;AI、云计算、大数据等技术迅速迭代&#xff0c;并日益融入经济社会发展各领域全过程&#xff0c;数字经济成为推动千行百业转型升级的重要驱动力量。 今年的政府工作报告提出&#xff0c;深入推进数字经济创新发展。积极推进数字产业化、产业数字化&a…...

计算机毕业设计Python深度学习美食推荐系统 美食可视化 美食数据分析大屏 美食爬虫 美团爬虫 机器学习 大数据毕业设计 Django Vue.js

Python美食推荐系统开题报告 一、项目背景与意义 随着互联网和移动技术的飞速发展&#xff0c;人们的生活方式发生了巨大变化&#xff0c;尤其是餐饮行业。在线美食平台如雨后春笋般涌现&#xff0c;为用户提供了丰富的美食选择。然而&#xff0c;如何在海量的餐饮信息中快速…...

【鸿蒙学习笔记】鸿蒙ArkTS学习笔记

应用开发导读&#xff1a;https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/application-dev-guide-V5 这里写目录标题 基础组件通用属性容器组件Button 迭代完备 【鸿蒙培训】第&#xff11;天・环境安装 【鸿蒙培训】第&#xff12;天・装饰器・组件和页面…...

广东行政职业学院数据智能订单班开班暨上进双创工作室签约仪式圆满结束

为响应教育领域数字化与智能化浪潮这一变革&#xff0c;给学生提供更好的教育资源和实践机会&#xff0c;6月27日&#xff0c;“泰迪广东行政职业学院数据智能订单班开班仪式暨上进双创工作室签约授牌”在广东行政职业学院举行。广东行政职业学院智慧政务学院&#xff08;电子信…...

python与matlab微分切片的区别

python python使用np中的linespace生成等间隔数值&#xff0c; import numpy as np numpy.linspace(start, stop, num50, endpointTrue, retstepFalse, dtypeNone, axis0)start&#xff1a;序列的起始值。stop&#xff1a;序列的结束值。如果 endpoint 为 True&#xff0c;该…...

MSPG3507——蓝牙接收数据显示在OLED,滴答定时器延时500MS

#include "ti_msp_dl_config.h" #include "OLED.h" #include "stdio.h"volatile unsigned int delay_times 0;//搭配滴答定时器实现的精确ms延时 void delay_ms(unsigned int ms) {delay_times ms;while( delay_times ! 0 ); } int a0; …...

Linux 安装 Redis 教程

优质博文&#xff1a;IT-BLOG-CN 一、准备工作 配置gcc&#xff1a;安装Redis前需要配置gcc&#xff1a; yum install gcc如果配置gcc出现依赖包问题&#xff0c;在安装时提示需要的依赖包版本和本地版本不一致&#xff0c;本地版本过高&#xff0c;出现如下问题&#xff1a…...

【高考志愿】建筑学

目录 一、专业介绍 1.1 专业定义 1.2 专业培养目标 1.3 核心课程 二、就业方向和前景 2.1 就业方向 2.2 专业前景 三、报考注意 四、行业趋势与未来展望 五、建筑学专业排名 一、专业介绍 1.1 专业定义 建筑学&#xff0c;这一充满艺术与科技魅力的学科&#xff0c;…...

Kubernetes的发展历程:从Google内部项目到云原生计算的基石

目录 一、起源与背景 1.1 Google的内部项目 1.2 Omega的出现 二、Kubernetes的诞生 2.1 开源的决策 2.2 初期发布 三、Kubernetes的发展历程 3.1 社区的成长 3.2 生态系统的壮大 3.3 重大版本和功能 3.4 多云和混合云的支持 四、Kubernetes的核心概念 4.1 Pod 4.…...

/proc/config.gz

前言 有时候&#xff0c;我们想知道一个运行着的内核都打开了哪些编译选项&#xff0c;当然&#xff0c;查看编译环境的 .config 文件是一个不错的选择&#xff0c;除此之外&#xff0c;还有没有别的办法呢&#xff1f;当然有&#xff0c;那就是 /proc/config.gz。 一睹风采 …...

论坛万能粘贴手(可将任意文件转为文本)

该软件可将任意文件转为文本。 还原为原文件的方法&#xff1a;将得到的文本粘贴到记事本&#xff0c;另存为UUE格式&#xff0c;再用压缩软件如winrar解压即可得到原文件。建议用于小软件。 下载地址&#xff1a;https://download.csdn.net/download/wgxds/89505015 使用演示…...

学习笔记——动态路由——OSPF(OSPF协议的工作原理)

八、OSPF协议的工作原理 1、原理概要 (1)相邻路由器之间周期性发送HELLO报文&#xff0c;以便建立和维护邻居关系 (2)建立邻居关系后&#xff0c;给邻居路由器发送数据库描述报文(DBD)&#xff0c;也就是将自己链路状态数据库中的所有链路状态项目的摘要信息发送给邻居路由器…...

Mybatis1(JDBC编程和ORM模型 MyBatis简介 实现增删改查 MyBatis生命周期)

目录 一、JDBC编程和ORM模型 1. JDBC回顾 2. JDBC的弊端 3. ORM模型 Mybatis和hibernate 区别: 4. mybatis 解决了jdbc 的问题 二、MyBatis简介 1. MyBatis快速开始 1.1 导入jar包 1.2 引入 mybatis-config.xml 配置文件 1.3 引入 Mapper 映射文件 1.3 测试 …...

论文阅读YOLO-World: Real-Time Open-Vocabulary Object Detection

核心&#xff1a; 开放词汇的实时的yolo检测器。重参数化的视觉语言聚合路径模块Re-parameterizable VisionLanguage Path Aggregation Network (RepVL-PAN)实时核心&#xff1a;轻量化的检测器离线词汇推理过程重参数化 方法 预训练方案&#xff1a;将实例注释重新定义为区域…...

SM2的签名值byte数组与ASN.1互转

ASN.1抽象语言标记(Abstract Syntax Notation One) ASN.1是一种 ISO/ITU-T 标准,描述了一种对数据进行表示、编码、传输和解码的数据格式,它提供了一整套正规的格式用于描述对象的结构。 一、该结构的应用场景 例如在做待签名的数字信封时,数字信封使用ASN.1封装,这个时…...

云计算与生成式AI的技术盛宴!亚马逊云科技深圳 Community Day 社区活动流程抢先知道!

小李哥最近要给大家分享7月7日在深圳的即将举办的亚马逊云科技生成式AI社区活动Community Day &#xff0c;干货很多内容非常硬核&#xff0c;不仅有技术分享学习前沿AI技术&#xff0c;大家在现场还可以动手实践沉浸式体验大模型&#xff0c;另外参与现场活动还可以领取诸多精…...

【鸿蒙学习笔记】基础组件Progress:进度条组件

官方文档&#xff1a;Progress 目录标题 作用最全属性迭代追加进度赋值风格样式 作用 进度条组件 最全属性迭代追加 Progress({ value: 20, total: 100, type: ProgressType.Linear }).color(Color.Green)// 颜色.width(200)// 大小.height(50)// 高度.value(50)// 进度可更…...

前程无忧滑块

声明(lianxi a15018601872) 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 前言(lianxi …...

一站式uniapp优质源码项目模版交易平台的崛起与影响

一、引言 随着信息技术的飞速发展&#xff0c;软件源码已成为推动行业进步的重要力量。源码的获取、交易和流通&#xff0c;对于开发者、企业以及项目团队而言&#xff0c;具有极其重要的意义。为满足市场对高质量源码资源的迫切需求&#xff0c;一站式uniapp优质源码项目模版…...

Python中vars用法

在 Python 中&#xff0c;vars() 函数返回对象的 __dict__ 属性的字典。这个字典包含了对象的所有属性和它们的值。vars() 函数可以用于模块、类、实例&#xff0c;或者拥有 __dict__ 属性的任何其它对象。这里有几个使用 vars() 的例子&#xff1a; 一.模块 如果对一个模块使…...

【机器学习】基于Transformer的迁移学习:理论与实践

引言 在机器学习领域&#xff0c;迁移学习已成为提升模型训练效率和性能的重要策略&#xff0c;特别是在标注数据稀缺的场景下。Transformer模型自2017年由Google提出以来&#xff0c;在自然语言处理&#xff08;NLP&#xff09;领域取得了突破性进展&#xff0c;并逐渐扩展到…...

如何应对情绪和培养理性的书

以下是几本关于如何应对情绪和培养理性的书籍推荐&#xff1a; 《情绪智商》&#xff08;Emotional Intelligence&#xff09; - 丹尼尔戈尔曼&#xff08;Daniel Goleman&#xff09; 这本书探讨了情绪智商&#xff08;EQ&#xff09;的重要性以及如何通过提高EQ来改善个人和职…...

[数据集][目标检测]电缆钢丝绳线缆缺陷检测数据集VOC+YOLO格式1800张3类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;1800 标注数量(xml文件个数)&#xff1a;1800 标注数量(txt文件个数)&#xff1a;1800 标注…...

【Git 学习笔记】Ch1.1 Git 简介 + Ch1.2 Git 对象

还是绪个言吧 今天整理 GitHub 仓库&#xff0c;无意间翻到了几年前自学 Git 的笔记。要论知识的稳定性&#xff0c;Git 应该能挤进前三——只要仓库还在&#xff0c;理论上当时的所有开发细节都可以追溯出来。正好过段时间会用到 Git&#xff0c;现在整理出来就当温故知新了。…...

Python 中别再用 ‘+‘ 拼接字符串了!

目录 引言 为什么不推荐使用 "" 示例代码 更高效的替代方法 使用 join 方法 示例代码 使用格式化字符串&#xff08;f-strings&#xff09; 示例代码 引言 大家好&#xff0c;在 Python 编程中&#xff0c;我们常常需要对字符串进行拼接。你可能会自然地想到…...

六西格玛绿带培训的证书有什么用处?

近年来&#xff0c;六西格玛作为一套严谨而系统的质量管理方法&#xff0c;被广泛运用于各行各业。而六西格玛绿带培训证书&#xff0c;作为这一方法论中基础且重要的认证&#xff0c;对于个人和企业而言&#xff0c;都具有不可忽视的价值。本文将从多个角度深入探讨六西格玛绿…...

《妃梦千年》第二十章:风雨欲来

第二十章&#xff1a;风雨欲来 战斗的胜利让林清婉和皇上的关系更加亲密&#xff0c;但宫中的阴谋却并未因此而停止。一天&#xff0c;林清婉正在寝宫中思考未来的对策&#xff0c;忽然接到一个紧急消息。小翠匆匆跑来&#xff0c;神色紧张&#xff1a;“娘娘&#xff0c;太后…...

深入理解二分法

前言 二分法&#xff08;Binary Search&#xff09;是一种高效的查找算法&#xff0c;广泛应用于计算机科学和工程领域。它用于在有序数组中查找特定元素&#xff0c;其时间复杂度为 O(log n)&#xff0c;显著优于线性搜索的 O(n)。本文将深入介绍二分法的原理、实现及其应用场…...

【C命名规范】遵循良好的命名规范,提高代码的可读性、可维护性和可复用性

/******************************************************************** * brief param return author date version是代码书写的一种规范 * brief &#xff1a;简介&#xff0c;简单介绍函数作用 * param &#xff1a;介绍函数参数 * return&#xff1a;函数返回类型说明 * …...

Hbase面试题总结

一、介绍下HBase架构 --HMaster HBase集群的主节点&#xff0c;负责管理和协调整个集群的操作。它处理元数据和表的分区信息&#xff0c;控制RegionServer的负载均衡和故障恢复。--RegionServer HBase集群中的工作节点&#xff0c;负责存储和处理数据。每个RegionServer管理若…...

C语言部分复习笔记

1. 指针和数组 数组指针 和 指针数组 int* p1[10]; // 指针数组int (*p2)[10]; // 数组指针 因为 [] 的优先级比 * 高&#xff0c;p先和 [] 结合说明p是一个数组&#xff0c;p先和*结合说明p是一个指针 括号保证p先和*结合&#xff0c;说明p是一个指针变量&#xff0c;然后指…...

Rust学习笔记 (命令行命令) : 用override set 设置工具链

在cargo run某个项目时出现了如下错误&#xff1a;error: failed to run custom build command for ring v0.16.20&#xff08;无法运行“Ring v0.16.20”的自定义构建命令&#xff09;&#xff0c;在PowerShell命令行运行命令 rustup override set stable-msvc后成功运行。 o…...

cv::Mat类的矩阵内容输出的各种格式的例子

操作系统&#xff1a;ubuntu22.04OpenCV版本&#xff1a;OpenCV4.9IDE:Visual Studio Code编程语言&#xff1a;C11 功能描述 我们可以这样使用&#xff1a;cv::Mat M(…); cout << M;&#xff0c;直接将矩阵内容输出到控制台。 输出格式支持多种风格&#xff0c;包括O…...

Redis--注册中心集群 Cluster 集群-单服务器

与“多服务器集群”一致需要创建redis配置模板 参照以下链接 CSDN 创建redis容器 node01服务器上创建容器 docker run -d --name redis-6381 --net host --privilegedtrue \ -v /soft/redis-cluster/6381/conf/redis.conf:/etc/redis/redis.conf \ -v /soft/redis-cluster/6…...

CV01_相机成像原理与坐标系之间的转换

目录 0.引言&#xff1a;小孔成像->映射表达式 1. 相机自身的运动如何表征&#xff1f;->外参矩阵E 1.1 旋转 1.2 平移 2. 如何投影到“像平面”&#xff1f;->内参矩阵K 2.1 图像平面坐标转换为像素坐标系 3. 三维到二维的维度是如何丢失的&#xff1f;…...

Android Lint

文章目录 Android Lint概述工作流程Lint 问题问题种类警告严重性检查规则 用命令运行 LintAndroidStudio 使用 Lint忽略 Lint 警告gradle 配置 Lint查找无用资源文件 Android Lint 概述 Lint 是 Android 提供的 代码扫描分析工具&#xff0c;它可以帮助我们发现代码结构/质量…...

【算法刷题 | 动态规划14】6.28(最大子数组和、判断子序列、不同的子序列)

文章目录 35.最大子数组和35.1题目35.2解法&#xff1a;动规35.2.1动规思路35.2.2代码实现 36.判断子序列36.1题目36.2解法&#xff1a;动规36.2.1动规思路36.2.2代码实现 37.不同的子序列37.1题目37.2解法&#xff1a;动规37.2.1动规思路37.2.2代码实现 35.最大子数组和 35.1…...

vue3 vxe-grid列中绑定vxe-switch实现数据更新

1、先上一张图&#xff1a; <template #valueSlot"{ row }"><vxe-switch :value"getV(row.svalue)" change"changeSwitch(row)" /></template>function getV(value){return value 1;};function changeSwitch(row) {console.l…...

Hive SQL:实现炸列(列转行)以及逆操作(行转列)

目录 列转行行转列 列转行 函数&#xff1a; EXPLODE(ARRAY)&#xff1a;将ARRAY中的每一元素转换为每一行 EXPLODE(MAP)&#xff1a;将MAP中的每个键值对转换为两行&#xff0c;其中一行数据包含键&#xff0c;另一行数据包含值 数据样例&#xff1a; 1、将每天的课程&#…...

MD5算法详解

哈希函数 是一种将任意输入长度转变为固定输出长度的函数。 一些常见哈希函数有&#xff1a;MD5、SHA1、SHA256。 MD5算法 MD5算法是一种消息摘要算法&#xff0c;用于消息认证。 数据存储方式&#xff1a;小段存储。 数据填充 首先对我们明文数据进行处理&#xff0c;使其…...

ES6的代理模式-Proxy

语法 target 要使用 Proxy 包装的目标对象&#xff08;可以是任何类型的对象&#xff0c;包括原生数组&#xff0c;函数&#xff0c;甚至另一个代理handler 一个通常以函数作为属性的对象&#xff0c;用来定制拦截行为 const proxy new Proxy(target, handle)举个例子 <s…...

排序(堆排序、快速排序、归并排序)-->深度剖析(二)

前言 前面介绍了冒泡排序、选择排序、插入排序、希尔排序&#xff0c;作为排序中经常用到了算法&#xff0c;还有堆排序、快速排序、归并排序 堆排序&#xff08;HeaSort&#xff09; 堆排序的概念 堆排序是一种有效的排序算法&#xff0c;它利用了完全二叉树的特性。在C语言…...

七一建党节|热烈庆祝中国共产党成立103周年!

时光荏苒&#xff0c;岁月如梭。 在这热情似火的夏日&#xff0c; 我们迎来了中国共产党成立103周年的重要时刻。 这是一个值得全体中华儿女共同铭记和庆祝的日子&#xff0c; 也是激励我们不断前进的重要时刻。 103年&#xff0c; 风雨兼程&#xff0c;砥砺前行。 从嘉兴…...

Spring Boot应用知识梳理

一.简介 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的工具。它简化了基于 Spring 的应用程序的配置和部署过程&#xff0c;提供了一种快速、便捷的方式来构建独立的、生产级别的 Spring 应用程序。 Spring Boot 的一些主要优点包括&#xff1a; 1. 简化配置…...

Spring中利用重载与静态分派

Spring中利用重载与静态分派 在Java和Spring框架中&#xff0c;重载&#xff08;Overloading&#xff09;和静态分派&#xff08;Static Dispatch&#xff09;是两个非常重要的概念&#xff0c;它们在处理类方法选择和执行过程中扮演着关键角色。本文旨在深入探讨Spring环境下…...

文本三剑客之awk:

文本三剑客awk&#xff1a; grep 查 sed 增删改查 主要&#xff1a;增改 awk 按行取列 awk awk默认的分隔符&#xff1a;空格&#xff0c;tab键&#xff0c;多个空格自动压缩为一个。 awk的工作原理&#xff1a;根据指令信息&#xff0c;逐行的读取文本内容&#xff0c;然…...

SpringSecurity-授权示例

用户基于权限进行授权 定义用户与权限 authorities()。 package com.cms.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.core.userdetails.User; import…...

WIN32核心编程 - 数据类型 错误处理 字符处理

公开视频 -> 链接点击跳转公开课程博客首页 -> 链接点击跳转博客主页 目录 数据类型 基本数据类型 Win32基本数据类型 错误处理 C语言中的错误处理 C中的错误处理 Win32中的错误处理 字符处理 C/C WIN32 字符处理 数据类型 基本数据类型 C/C语言定义了一系列…...

高德离线地图OpenLayers实现添加标记点及标记点事件

要在使用高德离线地图数据的OpenLayers应用中添加标记点&#xff08;通常称为"特征"或"要素"&#xff09;以及为这些标记点添加事件&#xff0c;你需要首先确保你的离线地图数据是以OpenLayers能够理解的格式提供的&#xff08;如PNG瓦片用于底图&#xff…...

1.4 ROS2集成开发环境搭建

1.4.1 安装VSCode VSCode全称Visual Studio Code&#xff0c;是微软推出的一款轻量级代码编辑器&#xff0c;免费、开源而且功能强大。它支持几乎所有主流的程序语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比Diff、GIT 等特性&#xff0c;支持插件…...

mysql高可用-MHA

文章目录 一、环境准备1、配置hosts2、关闭防火墙3、禁用SELinux4、关闭swap5、配置互信 二、mysql主从部署1&#xff09;安装mysql&#xff08;MySQL5.7.29&#xff09;2&#xff09;mysql 节点配置1、修改配置文件3、启动服务5、设置root密码 3&#xff09;配置mysql 一主两从…...

LabVIEW项目外协时选择公司与个人兼职的比较

​在选择LabVIEW项目外协合作伙伴时&#xff0c;外协公司和个人兼职各有优劣。个人兼职成本较低且灵活&#xff0c;但在可靠性、技术覆盖面、资源和风险管理上存在不足。而外协公司拥有专业团队、丰富资源、完善的项目管理和风险控制&#xff0c;尽管成本较高&#xff0c;但能提…...

React@16.x(43)路由v5.x(8)常见应用场景(5)- 滚动条复位

目录 1&#xff0c;滚动条复位2&#xff0c;在 React 中的触发的3种方式2.1&#xff0c;高阶组件2.2&#xff0c;useEffect2.3&#xff0c;路由守卫 1&#xff0c;滚动条复位 因为切换路由&#xff0c;页面并不会刷新&#xff0c;所以需要手动复位滚动条。实现滚动条复位是比较…...

2024年全球汽车零部件供应商百强榜出炉:宁德时代排第4!国轩高科新上榜

6月23日,《美国汽车新闻》重磅发布了2024年全球汽车零部件供应商百强榜。值得一提的是,今年上榜的中国企业又多了两家,分别是国轩高科和三花汽零,另外宁德时代的排名又上升了一位,目前仅次于博世、采埃孚和麦格纳国际这三家传统零部件巨头。中国企业一共上榜15家,其中前5…...

采用CTB电池、11合1电驱,银河E5高调登场

自2023年2月发布以来,银河系列通过陆续上新银河L7、银河L6、银河E8,仅用了10个月,累计销量就突破12万辆,得到用户的认可。随着技术的迭代,也为了进一步提升品牌影响力,满足用户需求,日前吉利银河发布了旗下全新紧凑型纯电SUV——银河E5的官图。新车将在今年第二季度上市…...

河北进一步完善跨区域排水防涝应急联动机制

河北进一步完善跨区域排水防涝应急联动机制三个应急联动片区实行省内统筹调度6月1日,我省正式进入汛期。从省住房城乡建设厅获悉,我省进一步完善跨区域排水防涝应急联动机制,提高区域协同应急救援能力。按照地理区位,全省划分北部、中部(廊坊、保定、沧州、定州、雄安新区)…...

C++笔试强训day36

目录 1.提取不重复的整数 2.【模板】哈夫曼编码 3.abb 1.提取不重复的整数 链接https://www.nowcoder.com/practice/253986e66d114d378ae8de2e6c4577c1?tpId37&tqId21232&ru/exam/oj 按照题意模拟就行&#xff0c;记得从右往左遍历 #include <iostream> usi…...

100个 Unity小游戏系列五 -Unity 抽奖游戏专题三老虎机游戏

一、演示效果 二、知识点讲解 2.1 布局 public void CreateItems(SlotsData[] slotsData){isInited false;slotsPrizeList new List<SlotsData>();for (int i 0; i < slotsData.Length; i){var item slotsData[i];slotsPrizeList.Add(item);}float bottomY -it…...

低代码开发难吗?

在软件开发的多样化浪潮中&#xff0c;低代码开发平台以其简化的编程模型&#xff0c;为IT行业带来了新的活力。作为一位资深的IT技术员&#xff0c;我对低代码开发平台的易用性和强大功能有着深刻的认识。今天&#xff0c;我将分享我对YDUIbuilder这一免费开源低代码平台的使用…...