java - 为什么在已经安装了 64 位 JRE 的情况下需要 32 位 JRE 才能运行某些小程序

标签 java applet java-8

让我举个例子,Juniper 的 Network connect 是一个 Java applet。此小程序无法从具有 64 位 Java(JDK 或 JRE)的 ubuntu 64 位操作系统运行。要运行它,他们的 support site 建议安装 32 位 JRE。

附加信息: Verify Java applet - 成功验证浏览器能够运行 Java 小程序。 浏览器为 64 位 (Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0 )

当 64 位 JRE 已经可用时,我无法理解对 32 位 JRE 的基本需求?有人可以解释一下吗?这将帮助很多人。

最佳答案

在 Windows 和 *ix 系统中,无法从 32 位可执行文件调用 64 位动态库(.dll 或 .so)。因此,有两种可能需要使用 32 位 jdk:

  1. 应用程序正在从 native 32 位应用程序(如 32 位浏览器)调用
  2. java 应用程序包含对仅作为 32 位版本交付的 native 库的 JNI 调用。

使用小程序 1. 是最可能的原因 - 但从您的编辑看来更像是 2. 在您的情况下。

关于java - 为什么在已经安装了 64 位 JRE 的情况下需要 32 位 JRE 才能运行某些小程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25398199/

相关文章:

java - Hibernate Validator @URL 不接受没有 schema 的 URL

java - 无法停止TimerTask

java - 真的需要自定义异常吗

JavaFX 回调 Lambda

java - 使用 "B map(A a1,A a2)"将 Stream<A> 转换为 Stream<B>

Java : How to sort values of a HashMap with generic Key and Value?

java - 将图像从 android 串行发送到 java 应用程序时出错 -javax.imageio.IIOException : Bogus Huffman table definition

Java IO 无法读取输入文件?

java - Java Applet 中的 Apache FOP - 未找到数据的 ImagePreloader

java - 更改 JFileChooser 的外观