当前位置: 首页 > 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;逐…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据

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

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

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

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

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库&#xff0c;提供了高效、安全的文本格式化功能&#xff0c;是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...

Matlab实现任意伪彩色图像可视化显示

Matlab实现任意伪彩色图像可视化显示 1、灰度原始图像2、RGB彩色原始图像 在科研研究中&#xff0c;如何展示好看的实验结果图像非常重要&#xff01;&#xff01;&#xff01; 1、灰度原始图像 灰度图像每个像素点只有一个数值&#xff0c;代表该点的​​亮度&#xff08;或…...

一些实用的chrome扩展0x01

简介 浏览器扩展程序有助于自动化任务、查找隐藏的漏洞、隐藏自身痕迹。以下列出了一些必备扩展程序&#xff0c;无论是测试应用程序、搜寻漏洞还是收集情报&#xff0c;它们都能提升工作流程。 FoxyProxy 代理管理工具&#xff0c;此扩展简化了使用代理&#xff08;如 Burp…...

DeepSeek越强,Kimi越慌?

被DeepSeek吊打的Kimi&#xff0c;还有多少人在用&#xff1f; 去年&#xff0c;月之暗面创始人杨植麟别提有多风光了。90后清华学霸&#xff0c;国产大模型六小虎之一&#xff0c;手握十几亿美金的融资。旗下的AI助手Kimi烧钱如流水&#xff0c;单月光是投流就花费2个亿。 疯…...

二叉树-144.二叉树的前序遍历-力扣(LeetCode)

一、题目解析 对于递归方法的前序遍历十分简单&#xff0c;但对于一位合格的程序猿而言&#xff0c;需要掌握将递归转化为非递归的能力&#xff0c;毕竟递归调用的时候会调用大量的栈帧&#xff0c;存在栈溢出风险。 二、算法原理 递归调用本质是系统建立栈帧&#xff0c;而非…...