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

随记:有关idea中jdk版本

第一个地方:这个可能就是你整个项目的jdk版本的使用,你改了这里大概率可以改了

第二个地方:

就是 有关maven项目的  pom文件

一开始我的第一地方用的是 17 但是这里用的是8 

但是运行的时候还是 17 

这里可能是 maven的 项目这个地方只是对打包用的jdk8吧

开发工具和构建工具的行为差异

  1. 开发工具优先性:通常开发工具(如 IntelliJ IDEA)在运行项目时可能会优先使用其项目设置中的 JDK 版本。在你的情况下,尽管项目结构中显示的是 JDK 17,但 pom 文件中指定的是 JDK 8。开发工具在运行项目时可能会依据自身的配置和优先级规则,选择使用项目结构中设置的 JDK 17 来执行项目。这是因为开发工具通常会根据项目的具体配置和环境变量来确定运行时的 JDK 版本,并且在运行过程中可能会覆盖构建工具(Maven)中的设置。
  2. 构建工具的作用范围:Maven 在构建项目时会根据 pom 文件中的配置进行编译、测试和打包等操作。然而,Maven 对 JDK 版本的设置主要影响构建过程,而不一定直接决定项目的运行时环境。在构建阶段,Maven 会根据 pom 文件中指定的 JDK 版本调用相应的编译器和工具来处理源代码,但在运行项目时,开发工具可能会有自己的运行时配置机制,这可能导致实际运行时使用的 JDK 版本与 Maven 构建时指定的版本不一致。

二、优先级判断

  1. 一般来说,开发工具的项目设置在运行项目时可能具有较高的优先级。这是因为开发工具直接控制项目的运行环境,并且会根据其自身的配置和用户设置来选择合适的 JDK 版本。然而,具体的优先级可能因开发工具的不同版本和配置而有所变化。
  2. 在构建过程中,Maven 的设置对于确保项目的正确构建和依赖管理非常重要。但在运行项目时,开发工具可能会根据其自身的逻辑和优先级来确定使用哪个 JDK 版本。

第三个地方:

这里的有什么用?

大概是在编译的时候 idea 指定的版本。

构建、执行、部署 > 编译器 > Java 编译器设置

一、编译源代码

  1. 生成字节码:Java 编译器将 Java 源代码转换为字节码,这是一种与平台无关的中间表示形式。字节码可以在任何安装了适当 Java 运行时环境(JRE)的平台上运行,实现了 “一次编写,到处运行” 的特性。例如,开发人员编写的 Java 类文件经过编译器处理后,生成的字节码可以在 Windows、Linux 和 macOS 等不同操作系统上执行,只要这些系统上安装了兼容的 JRE。
  2. 语法检查和错误报告:编译器在编译过程中会检查源代码的语法正确性。如果发现语法错误,编译器会报告错误信息,帮助开发人员快速定位和修复问题。例如,如果开发人员在代码中遗漏了分号、括号不匹配或者使用了未定义的变量,编译器会指出这些错误,以便开发人员进行修正。
  3. 类型检查和安全性保障:编译器会进行类型检查,确保在程序运行时不会出现类型不匹配的错误。这有助于提高程序的安全性和稳定性。例如,编译器会检查方法调用中参数的类型是否正确,以及变量的赋值是否符合其类型要求。如果发现类型不匹配的情况,编译器会发出错误提示,防止在运行时出现不可预测的错误。

二、优化和性能提升

  1. 代码优化:现代 Java 编译器通常会进行各种优化,以提高生成的字节码的性能。这些优化包括但不限于常量折叠、方法内联、循环优化等。例如,编译器可能会将一些常量表达式在编译时进行计算,并将结果直接嵌入到生成的字节码中,减少运行时的计算开销。方法内联可以将小的方法调用直接替换为方法体的代码,减少方法调用的开销。循环优化可以对循环结构进行分析和优化,提高循环的执行效率。
  2. 目标字节码版本控制:通过设置项目字节码版本和模块目标字节码版本,开发人员可以控制生成的字节码的版本,以适应不同的运行环境和需求。例如,如果项目需要在旧版本的 JRE 上运行,可以将字节码版本设置为较低的版本,以确保兼容性。同时,编译器也会根据目标字节码版本进行相应的优化和调整,以提高在特定版本 JRE 上的性能。

第四个地方:

这个可能是运行环境的配置jre java虚拟机的版本

构建、执行、部署 > 构建工具 > Maven > 运行程序设置中的 JRE 设置

  1. 虚拟机支持:JRE 包含了 Java 虚拟机(JVM),这是 Java 程序能够在不同操作系统上运行的关键。JVM 负责将 Java 字节码转换为特定操作系统和硬件平台能够理解的机器指令,并执行这些指令。不同的操作系统有不同版本的 JVM,但 Java 程序可以在任何安装了适当 JRE 的平台上运行,而无需进行修改。例如,一个在 Windows 上开发的 Java 项目,可以在 Linux 或 macOS 等其他操作系统上运行,只要这些系统上安装了兼容的 JRE。
  2. 核心类库:JRE 还提供了大量的核心类库,这些类库包含了 Java 程序运行所需的基本功能,如输入输出处理、网络通信、图形用户界面、日期和时间处理等。开发人员在编写 Java 程序时,可以直接使用这些类库中的类和方法,而无需从头开始实现所有的功能。例如,当开发一个网络应用程序时,可以使用 JRE 中的java.net包来实现网络通信功能。

还有一个地方:

就是maven的settings.xml 里面也有java版本的指定,这个就不知道哪个优先级更高了,但是我变了几次都是在第一个地方改了,就改了。

最后总的来说就是,

把这几个地方都改成一样的应该就不会有什么问题,要是改了没用,可能就是有缓存,重启一下。本着也是记录一下这几个可以改的地方。不用每次都去查其他的了。

相关文章:

随记:有关idea中jdk版本

第一个地方:这个可能就是你整个项目的jdk版本的使用,你改了这里大概率可以改了 第二个地方: 就是 有关maven项目的 pom文件 一开始我的第一地方用的是 17 但是这里用的是8 但是运行的时候还是 17 这里可能是 maven的 项目这个地方只是对…...

【算法篇】贪心类(1)(笔记)

目录 一、理论基础 1. 大纲 2. 求解步骤 二、Leetcode 题目 1. 分发饼干 2. 摆动序列 3. 最大子序和 4. 买卖股票的最佳时机 II 5. 跳跃游戏 6. 跳跃游戏 II 7. K 次取反后最大化的数组和 8. 加油站 9. 分发糖果 一、理论基础 1. 大纲 2. 求解步骤 将问题分解为…...

el-select 可搜索、多选状态遮挡住搜索框

el-select 可搜索多选状态遮挡住搜索框 最近在使用 element-ui 中 el-select组件遇到一个问题, 我们需求可以多选,也可以输入搜索, 当鼠标在边框时才是输入搜索状态,通过下面gif动图可发现鼠标经过边框时,才显示清空图…...

el-table中实现可选表格区域的鼠标事件检测

背景描述 vue3element plus想要实现el-table中特定区域内的单元格才可点击 代码实现 首先&#xff0c;需要给el-table绑定单元格点击事件 <el-table :data"currTableData"borderstyle"width: 100%;"height"calc(100vh - 400px)"cell-clic…...

特种作业操作登高架设作业历年真题附答案

1.直接引起坠落的客观危险因素之平均温度低于&#xff08; &#xff09;℃。 A.10 B.3 C.5 答案:C 2.从事脚手架支搭作业的人员必须年满&#xff08; &#xff09;周岁。 A.18 B.20 C.22 答案:A 3.跨越架横杆有效部分的小头直径不…...

schedule-执行周期性任务

模块介绍 该模块主要用于python的任务调度&#xff0c;使用简便友好的python语法定期运行python函数或者一些其他的调用对象&#xff0c;这个模块就类似于windows的任务计划和linux的crontab&#xff0c;都是用于在服务器上周期性执行某段python脚本。 相较于linux的crontab对…...

python图片文件路径排序

解决用sord 排序文件路径乱序问题&#xff1a; image_files 是 图片文件路径列表[pythonProject/video2img/1.jpg,pythonProject/video2img/2.jpg,.......] image_files.sort(keylambda x: int(x.split(/)[-1].split(.)[0]))...

ARTTrack6/M、ARTTrack5、ART AT7-80横向对比

在光学跟踪系统领域&#xff0c;ART公司凭借其先进的技术和卓越的产品性能&#xff0c;一直受到市场的广泛关注。ARTTrack6/M、ARTTrack5和ART AT7-80作为ART公司的三款代表性产品&#xff0c;各自在不同的应用场景中发挥着重要作用。本文将对这三款产品进行纵向对比&#xff0…...

【Vue】Vue3.0(十三)中标签属性ref(加在普通标签上、加在组件标签上)、局部样式

上篇文章&#xff1a; 【Vue】Vue3.0 &#xff08;十二&#xff09;、watchEffect 和watch的区别及使用 &#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f916;Vue专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2024年10月18日20点56分 文章目录 基本…...

Linux系统基础-文件系统

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 Linux系统基础-文件系统 收录于专栏[Linux学习] 本专栏旨在分享学习Linux的一点学习笔记&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录 1. 回顾C语言…...

机器学习和深度学习常用的工具库

一、机器学习常用库 1. Scikit-learn 简介&#xff1a;一个基于Python的机器学习库&#xff0c;专注于经典的机器学习算法。特点&#xff1a; 提供了多种分类、回归、聚类和降维算法。具有统一的API&#xff0c;便于使用。集成了数据预处理、模型选择和评估等功能。 应用&…...

【unity小技巧】Unity6 LTS版本安装和一些修改和新功能使用介绍

文章目录 前言安装新功能变化1、官方推荐使用inputsystem进行输入控制2、修复了InputSystem命名错误导致listen被遮挡的bug3、自带去除unity启动画面logo功能4、unity官方的behavior行为树插件5、linearVelocity代替过时的velocity方法待续 完结 前言 2024/10/17其实unity就已…...

5种边界填充

目录 边界填充需要知道的两个东西什么算边界边界的范围是多少举例 复制填充反射法反射101法外包装法数值填充法原图代码最终效果 边界填充需要知道的两个东西 什么算边界 顾名思义&#xff1a;就是图片的最外边 边界的范围是多少 根据你自己的需要而设置 举例 这里我选择…...

鸿蒙网络编程系列7-TLS安全数据传输单向认证示例

1.TLS简介 TLS&#xff08;Transport Layer Security&#xff09;协议的前身是SSL&#xff08;Secure Socket Layer&#xff09;安全套接层协议&#xff0c;由Netscape公司于1994年提出&#xff0c;是一套网络通信安全协议。IETF&#xff08;The Internet Engineering Task Fo…...

LangGraph 源码分析 | BaseTool 模板类

文章目录 BaseTool 源码分析核心属性以 TavilySearchResults(BaseTool) 为例namedescriptionargs_schemaresponse_format查询选项属性 需要子类实现的抽象方法以 TavilySearchResults(BaseTool) 为例 核心方法arun()&#xff1a;run()的异步执行版本invoke()和ainvoke() BaseTo…...

vulnhub靶场之JOY

一.环境搭建 1.靶场描述 Does penetration testing spark joy? If it does, this machine is for you. This machine is full of services, full of fun, but how many ways are there to align the stars? Perhaps, just like the child in all of us, we may find joy in …...

intel和AMD突然联姻,这操作给我看傻了

要说现在的显卡一哥&#xff0c;那肯定非 NVIDIA 莫属&#xff0c;不仅仅是在 AI 领域是赚的盆满钵满&#xff0c;更是在游戏显卡领域把红蓝两家打的节节败退。 在 6000 系列尚能与之一战的 AMD 也认清了现实&#xff0c;在最近宣布了下一代 8000 系列显卡放弃高端显卡战争&…...

yolo_face_pose-DataBall 人脸关键点数据集 >> DataBall

数据集下载地址&#xff1a;ultralyticsyolo训练自定义人脸关键点训练和验证数据集资源-CSDN文库 数据集定义&#xff1a; ultralytics yolo 训练自定义人脸关键点训练和验证数据集 数据集格式&#xff1a;yolo 训练集数量&#xff1a;3295 验证集数量&#xff1a;120 类别&a…...

Unity 山水树木

本章节内容 1. Unity对3D游戏物体的简单操作&#xff1b; 2. 构建山水树木的场景 1. Unity 简易操作 1.1 新建3D游戏场景 1. 打开Unity Hub&#xff0c;点击 New Project &#xff08;新建项目&#xff09;按键&#xff0c;选择第二项 3D(Built-In Render Pipeline)&#xf…...

Redis 性能优化选择:Pika 的配置与使用详解

引言 在我们日常开发中 redis是我们开发业务场景中不可缺少的部分。Redis 凭借其内存存储和快速响应的特点&#xff0c;广泛应用于缓存、消息队列等各种业务场景。然而&#xff0c;随着数据量的不断增长&#xff0c;单节点的 Redis 因为内存限制和并发能力的局限&#xff0c;逐…...

【某农业大学计算机网络实验报告】实验三 IP数据报发送和转发流程

实验目的&#xff1a; &#xff08;1&#xff09;掌握基本的网络配置方法。 &#xff08;2&#xff09;观察 IP 数据报的发送和转发流程&#xff0c;掌握 IP 转发分组的原理。 实验器材&#xff1a; 一台Windows操作系统的PC机。 实验准备&#xff1a; 1&#xff0e;配置…...

Android13 添加运行时权限

在一些场景下&#xff0c;需要给app 添加运行时权限&#xff0c;这样就不需要在使用的时候再去点击授权。 直接上代码&#xff1a; --- a/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.javab/services/core/java/com/android/server/pm…...

官方操刀占用仅6G,Win 11 LTSC详细安装、优化教程来了

前段时间微软发布 Win 11 年度重磅更新 24H2&#xff0c;顺便也带来了备受期待的 Win 11 2024 官方精简 LTSC&#xff08;老坛酸菜&#xff09;版。 Win 11 重磅更新发布&#xff0c;老坛酸菜版成了配角&#xff01; 简单来说&#xff0c;Win 11 LTSC 是微软针对企业用户推出…...

【论文精读】RELIEF: Reinforcement Learning Empowered Graph Feature Prompt Tuning

RELIEF: Reinforcement Learning Empowered Graph Feature Prompt Tuning 前言AbstractMotivationSolutionRELIEFIncorporating Feature Prompts as MDPAction SpaceState TransitionReward Function Policy Network ArchitectureDiscrete ActorContinuous ActorCritic Overall…...

2023-06 GESP C++三级试卷

2023-06 GESP C三级试卷 &#xff08;满分&#xff1a;100 分 考试时间&#xff1a;90 分钟&#xff09; PDF试卷及答案回复:GESPC2023063 一、单选题&#xff08;每题 2 分&#xff0c;共 30 分&#xff09; 1 高级语言编写的程序需要经过以下&#xff08; &#xff09;操…...

Maven--简略

简介 Apache旗下的一款开源项目&#xff0c;用来进行项目构建&#xff0c;帮助开发者管理项目中的jar及jar包之间的依赖&#xff0c;还拥有项目编译、测试、打包的功能。 管理方式 统一建立一个jar仓库&#xff0c;把jar上传至统一的仓库&#xff0c;使用时&#xff0c;配置…...

leetcode 刷题day44动态规划Part13( 647. 回文子串、516.最长回文子序列)

647. 回文子串 动规五部曲&#xff1a; 1、确定dp数组&#xff08;dp table&#xff09;以及下标的含义 按照之前做题的惯性&#xff0c;定义dp数组的时候很自然就会想题目求什么&#xff0c;就如何定义dp数组。但是对于本题来说&#xff0c;这样定义很难得到递推关系&#x…...

华为OD机试真题---关联子串

华为OD机试中的“关联子串”题目是一个考察字符串处理和算法理解的经典问题。以下是对该题目的详细解析&#xff1a; 一、题目描述 给定两个字符串str1 和 str2&#xff0c;如果字符串 str1 中的字符&#xff0c; 经过排列组合后的字符串中只要有一个是 str2 的子串&#xff…...

【OpenAI】第二节(Token)什么是Token?如何计算ChatGPT的Token?

深入解析&#xff1a;GPT如何计算Token数&#xff1f;让你轻松掌握自然语言处理的核心概念&#xff01;&#x1f680; 在当今的人工智能领域&#xff0c;GPT&#xff08;Generative Pre-trained Transformer&#xff09;无疑是最受关注的技术之一。无论是在文本生成、对话系统…...

GraphRAG + Ollama + Groq 构建知识库 续篇 利用neo4j显示知识库

GraphRAG Ollama Groq 构建知识库 在上一篇文章中&#xff0c;我们详细介绍了如何创建一个知识库。尽管知识库已经建立&#xff0c;但其内容的可视化展示尚未实现。我们无法直接看到知识库中的数据&#xff0c;也就无法判断这些数据是否符合我们的预期。为了解决这个问题&…...