java - 如果安装新版本的 JDK,运行 Java 进程会发生什么情况?

标签 java linux jvm

我想知道如果我在 Debian 机器上更新 JDK,运行的 Java 进程会发生什么。其他系统的答案可能也是一样的,我只是想更明确地说明我的环境。

有了更新,我的意思是新的 JDK 将安装在现有的 JDK 旁边,符号链接(symbolic link) /usr/lib/jvm/default-java 将更改为新 JDK 的文件夹.

更新后的文件夹结构:

  • /usr/lib/jvm/default-java -> /usr/lib/jvm/jdk1.7.0_79
  • /usr/lib/jvm/jdk1.7.0_21 # 旧版本
  • /usr/lib/jvm/jdk1.7.0_79 #新版本

正在运行的进程是否会受到此更改的影响?

最佳答案

正在运行的进程正在运行真正的 JVM 可执行文件,而不是符号链接(symbolic link)。

因此,它们将继续运行,但它们不会切换到您刚刚安装的新 JVM 版本,直到您重新启动它们。

关于java - 如果安装新版本的 JDK,运行 Java 进程会发生什么情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31859255/

相关文章:

java - 如何通过命令提示符更改包名称、编译和签名黑莓java应用程序?

java - NoSuchMethodError : com. google.common.cache.CacheBuilder.maximumSize(J)

linux - 操作系统如何知道物理内存的实际大小?

linux - Linux 3.+中Linux 2.6对应的/dev/dsp在哪里?

memory - 为什么我的垃圾收集日志显示 3.8GB 作为最大可用堆大小,而我已分配 4GB 作为最大堆大小?

java - 如何控制老年代的java堆大小?

javascript - ExtJS 应用程序使用多少 JVM 内存 java 堆空间

java - 发送kafka字符串消息java启动其他java上的程序

java - 有没有一种聪明的方法可以避免 JavaFX 中的嵌套事件?

linux - 将 Bash 变量传递给 awk 脚本