旧版本 Java.exe (7.1) 使用新版本运行时的含义 (8.x)
Implications of Old version of Java.exe (7.1) using new version of runtime(8.x)
我们的应用程序嵌入了 JRE。该应用程序错误地附带了一个混搭(7.x 版本的 java.exe 和 8.x 版本的其余 JRE)。
我可以使用 Process Explorer 确认进程 运行 v.1.7 java.exe 使用 v.1.8 java 运行时。我很惊讶运行时或二进制文件没有检测到异常并放弃 JVM 创建!
相同的含义是什么?安全问题 ?稳定性问题?我还没有查看 java.exe 的源代码。从我对 java.exe 二进制文件的初步调查来看,我可以看出它不仅仅是一个存根。除了 USER32.dll、ADVAPI32.dll、COMCTL32.dll.
之外,它调用了 100 个不同的 KERNEL32.DLL API
当然,我们可以(而且我们会)改正错误。但是对使用上述异常的几个当前生产系统有影响吗?如果是,它们是什么?
What are the implications of the same ? Security issues ? Stability
issues ?
所有这些。
JVM 二进制文件(java.exe 在你的例子中),它附带的共享 objects/DLLs,以及实现 Java 方面的 JAR 文件都在一个运行 不是组合包,也不是组合包。
Java 7 和 Java 8 之间的兼容性问题的具体列表是已知的外部 整个 JVM 包的一致版本之间的问题。
您已将 internal incoherent Java 安装的不兼容性添加到那些已知的外部不兼容性。无法获得这些列表。几乎可以肯定,甚至没有人试图跟踪此类事情。
你不知道什么应该起作用,什么会起作用,也不知道它会起作用多久,即使它看起来起作用。
java.exe
是 a simple launcher。它不包含 JVM 或 Class 库代码。它的主要功能只是定位 JRE 并使用命令行中传递的参数加载 jvm.dll
。
即使没有 java.exe
,您也可以使用 Invocation API 启动 JVM。
java.c
log 表示 JDK 7 和 JDK 8 之间的启动器并没有太大变化。例如有一个对 JavaFX 应用程序的启动器支持和一些用于更好的参数验证的修复。而已。因此,如果您的应用程序使用 JDK 7 启动器启动良好,显然没有什么可担心的。
我们的应用程序嵌入了 JRE。该应用程序错误地附带了一个混搭(7.x 版本的 java.exe 和 8.x 版本的其余 JRE)。
我可以使用 Process Explorer 确认进程 运行 v.1.7 java.exe 使用 v.1.8 java 运行时。我很惊讶运行时或二进制文件没有检测到异常并放弃 JVM 创建!
相同的含义是什么?安全问题 ?稳定性问题?我还没有查看 java.exe 的源代码。从我对 java.exe 二进制文件的初步调查来看,我可以看出它不仅仅是一个存根。除了 USER32.dll、ADVAPI32.dll、COMCTL32.dll.
之外,它调用了 100 个不同的 KERNEL32.DLL API当然,我们可以(而且我们会)改正错误。但是对使用上述异常的几个当前生产系统有影响吗?如果是,它们是什么?
What are the implications of the same ? Security issues ? Stability issues ?
所有这些。
JVM 二进制文件(java.exe 在你的例子中),它附带的共享 objects/DLLs,以及实现 Java 方面的 JAR 文件都在一个运行 不是组合包,也不是组合包。
Java 7 和 Java 8 之间的兼容性问题的具体列表是已知的外部 整个 JVM 包的一致版本之间的问题。
您已将 internal incoherent Java 安装的不兼容性添加到那些已知的外部不兼容性。无法获得这些列表。几乎可以肯定,甚至没有人试图跟踪此类事情。
你不知道什么应该起作用,什么会起作用,也不知道它会起作用多久,即使它看起来起作用。
java.exe
是 a simple launcher。它不包含 JVM 或 Class 库代码。它的主要功能只是定位 JRE 并使用命令行中传递的参数加载 jvm.dll
。
即使没有 java.exe
,您也可以使用 Invocation API 启动 JVM。
java.c
log 表示 JDK 7 和 JDK 8 之间的启动器并没有太大变化。例如有一个对 JavaFX 应用程序的启动器支持和一些用于更好的参数验证的修复。而已。因此,如果您的应用程序使用 JDK 7 启动器启动良好,显然没有什么可担心的。