【jvm jdk】切换jdk版本不成功解决

背景

JDK区分安装版和zip解压版,在命令行通过java -version查看效果,前者安装后可能在没有设置JAVA_HOMEPATH情况下,也能正确显示,后者必须设置,这是什么原因呢?

当我们本地存在多个版本的JDK,切换目标版本时,一般通过修改JAVA_HOME,但是有时会失效,是什么原因呢?

解密

对于安装版,在安装过程中,会写入一些注册表或环境变量,因此即使不设置JAVA_HOME和PATH,也会按照优先级,从多个地方查看;而对于解压版,不会有自动写注册表,只能从AVA_HOME和PATH中查找

目前可能引起失效的原因:

  1. 保证JAVA_HOME和PATH设置为预期目标的JDK版本,然后重启命令行

  2. 如果第一步失效,找到目录C:\Windows\System32,将java.exe,javaw.exe,javaws.exe删除

    原因是查看path的变量,里面包含%SystemRoot%\system32;之类的路径,在安装jdk时,有的会复制上述的几个exe至该目录下

  3. 如果第二步仍失效,查看path中是否包含类似C:\ProgramData\Oracle\Java\javapath ,也就是含有Oracle关键词的配置(不包括本地确实安装了oracle数据库的相关配置),删除掉即可。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: JVM(Java虚拟机)是Java程序运行的环境,它是一个能够执行Java字节码的虚拟机。JVM将Java字节码翻译成可被物理机器执行的指令,同时还提供了内存管理、垃圾回收、安全机制等功能,使得Java程序在不同的操作系统上能够运行。 JDK(Java开发工具包)是Java开发的基础工具集合,它提供了编写、编译、调试和运行Java程序的工具。JDK包括了JRE和开发工具,如编译器(javac)、调试器(jdb)、自动构建工具(Ant/Maven/Gradle)等。通过JDK,开发者可以创建和开发Java应用程序。 JRE(Java运行环境)是Java应用程序运行所需的核心组件集合,包括JVM和一些基础类库。JRE只能用于运行Java程序,而不能用于开发Java程序。当一个Java程序被编译完成后,它就能在安装了JRE的机器上运行。 总结来说,JVM是Java程序运行的环境,JDK是用于开发Java程序的工具集合,而JRE是运行Java程序所必需的核心组件集合。 ### 回答2: JVM(Java虚拟机)是Java编程语言的核心组件之一。它是一种虚拟计算机,可以在各种操作系统上运行Java字节码。JVM负责将Java源代码编译成可执行的字节码,并提供了内存管理、垃圾回收、安全性和线程同步等功能。JVM不只是一个程序,它是一种执行环境,可以运行Java程序。 JDK(Java开发工具包)是Java应用程序开发的软件包。它包含了JVM和其他用于开发Java应用程序的工具,如编译器(javac)、调试器(jdb)和执行器(java)。JDK是Java开发者所需的基本工具,它提供了编译、运行和调试Java程序的功能,以及许多其他开发所需的库和工具。 JRE(Java运行时环境)是JVM的一种实现,提供了执行Java字节码的运行环境。它包含了JVM、运行时类库和其他支持组件,可以让用户在计算机上运行已编译的Java程序。JRE只能运行Java程序,而无法进行Java应用程序的开发。 简而言之,JVM是Java程序的执行环境,JDK是开发Java程序所需的工具包,JRE是运行已编译的Java程序的环境。在开发Java应用程序时,需要安装JDK来编写、编译和调试代码;而在用户计算机上运行Java程序时,只需要安装JRE即可。 ### 回答3: JVM(Java Virtual Machine)是Java虚拟机的缩写,是Java程序运行的基础。它是一个执行Java字节码的虚拟计算机,负责解释和执行Java程序。JVM是跨平台的关键,因为Java程序可以在不同操作系统上运行,只需要安装对应的JVM即可。JVM还负责垃圾回收、内存管理等任务,使得Java程序具有自动内存管理的优势。 JDK(Java Development Kit)是Java开发工具包的缩写,它是开发Java应用程序的必备工具。JDK提供了Java编译器(javac)用于将Java源代码编译成字节码,还提供了用于调试和运行Java程序的工具。JDK中还包括了丰富的Java类库,开发者可以利用这些类库快速构建Java应用程序。 JRE(Java Runtime Environment)是Java运行时环境的缩写,它提供了Java程序运行所需的所有运行时环境。JRE包含了JVM和一些必要的类库,用于解释和执行Java字节码。当用户想要运行Java程序时,只需要在自己的计算机上安装JRE即可,而无需安装整个JDK。 总结起来,JVM是Java程序的运行平台,负责解释和执行Java字节码;JDK是Java开发工具包,用于开发Java应用程序,并包含了编译器和一些开发工具;JRE是Java运行时环境,包含了JVM和一些必要的类库,用于运行Java程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值