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文件
在最后面追加两条
加完之后,如下图:
刷新配置文件
再次查看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程序。
可以用一个简单的模型来描述它们之间的关系:JDK > JRE > JVM
JVM是JRE的一部分,负责Java字节码的执行。
JRE是JDK的一部分,提供了Java运行所需的环境。
JDK包含了JRE,以及编写和开发Java程序所需的工具。