🗒️jdk的版本切换
Apr 6, 2024
| Apr 7, 2024
0  |  Read Time 0 min
type
status
date
slug
summary
tags
category
icon
password
本文的所有操作均在Macos 14.4.1下完成。

0、管理jdk版本的时候的一些常用操作

查看当前Java运行时环境(JRE)版本
查看当前Java编译器(JDK)版本
查看所有安装的Java版本
详细查询各版本详细信息
删掉多余JDK版本
删除后验证
 
java中的版本切换一般有三种方法:
①修改环境变量
②使用多版本Java管理工具
③在IDEA中设置

1、通过修改环境变量来切换jdk版本

打开/.zshrc文件
在最后面追加两条
加完之后,如下图:
notion image
刷新配置文件
再次查看JRE版本
再次查看JDK版本
可见通过修改环境变量的方法,本机的所有项目的java版本都会跟着修改。如果想要对不同的项目分别指定不同的java版本,需要借助「多版本Java管理工具(如jEnv)」或者IDEA来实现。

2、使用多版本Java管理工具

对于更复杂的需求,考虑使用如jEnv或其他Java版本管理工具。这些工具可以帮助你在不同的项目之间更灵活地切换Java版本。
jEnv
官方文档:https://www.jenv.be/

3、在IDEA中指定jdk版本(以Visual Studio Code为例)

在修改配置文件之前,要先知道在VS Code中,用于存储配置设置的settings.json文件有两个不同的级别:用户级别(全局设置)和工作区级别。每个级别的settings.json文件作用范围和目的不同。
❖ 用户级别的settings.json
  • 路径~/Library/Application Support/Code/User/settings.json(这是在macOS上的路径,Windows和Linux的路径会有所不同)。
  • 作用范围:这个文件包含的配置适用于VS Code的所有项目,即全局设置。你在这里所做的更改会影响你打开的所有工作区和文件夹。
  • 用途:用于配置那些你希望在使用VS Code时通用应用的设置,比如界面主题、字体大小、编辑器行为等。
❖ 工作区级别的settings.json
  • 路径:位于项目根目录下.vscode文件夹中的settings.json文件。
  • 作用范围:这个文件中的配置仅适用于包含它的工作区。每个工作区都可以有自己的配置文件,这样你就可以为不同的项目设置不同的配置了。
  • 用途:用于存储特定项目的设置,比如项目特定的编程语言版本、编译器选项、代码格式化工具等。这使得在团队协作时,可以确保所有成员使用一致的开发环境设置。
总的来说,用户级别的settings.json用于全局设置,适用于所有项目,而工作区级别的settings.json允许你为每个项目定制化设置,以满足项目特定的需求。工作区设置会覆盖用户设置,这意味着如果在工作区级别定义了某个设置,那么这个设置将优先于用户级别的设置。这种设计提供了很高的灵活性,使得开发者可以在全局范围内维护一致的工作环境,同时又能针对特定项目做出细致的配置调整。
基于VS Code的这种特性,如果想为特定项目指定特定的java版本,可以直接修改该项目根目录下.vscode文件夹中的settings.json文件。(详细配置可参考Language support for Java ™ for Visual Studio Code
在 settings.json配置文件的{}代码块中追加下面的配置:
然后重启Visual Studio Code 就生效了。

易混淆概念:JVM、JDK和JRE是什么关系?

JVM负责执行Java字节码,使得Java程序可以在任何安装了JVM的系统上运行。JVM也管理着Java程序运行时所需的内存空间,包括堆栈、堆和方法区等。
JRE为Java程序的运行提供了所需的环境。它包括JVM、Java类库和其他支持文件。它不包含用于开发新应用程序的工具,如编译器或调试器。
JDK提供了一整套软件开发工具,这些工具包括编译器(javac)、Java应用程序启动器(java)、应用程序打包工具(jar)等。它也包括了JRE,因此安装了JDK,就能运行Java程序。
notion image
可以用一个简单的模型来描述它们之间的关系:JDK > JRE > JVM JVM是JRE的一部分,负责Java字节码的执行。 JRE是JDK的一部分,提供了Java运行所需的环境。 JDK包含了JRE,以及编写和开发Java程序所需的工具。
 
  • java
  • java basics
  • 输出时保留小数位数的方法【中日英】Javadoc
    Catalog