当前位置: 首页 > 面试题库 >

如何在jnlp文件中区分32位和64位Java版本

刘安志
2023-03-14
问题内容

要启动旧版应用程序,我们通过jnlp使用Java WebStart。

我们希望支持64位Java客户端,但是我们的库之一是依赖于体系结构的。

我们想到做类似的事情:

<resources>
  <j2se version="1.6+" sun.arch.data.model="64"/>
  <jar href="/apps/swt-3.7M5-win32-win32-x86_64_s.jar" download="eager" />
</resources>
<resources>
  <j2se version="1.6+" />
  <jar href="/apps/swt-3.7M5-win32-win32-x86_s.jar" download="eager" />
</resources>

这是行不通的,因为参数sun.arch.data.model =“ 64”用于设置参数而不是对其进行测试。

有任何想法吗?


问题答案:

在文档中对此进行了解释,位于:http
:
//docs.oracle.com/javase/7/docs/technotes/guides/javaws/developersguide/syntax.html#resources

但是,它没有说哪个arch值有意义。您可能希望它适用于不同的JVM实现和版本。我在Google上搜索了一段时间,这是我最终使用的方法:

  <resources>
    <java version="1.6+"/>
    <jar href="lwjgl-2.8.4.jar"/>
    <jar href="lwjgl_util-2.8.4.jar"/>
  </resources>

  <!-- LWJGL Linux 64-bit native libraries -->
  <resources os="Linux" arch="amd64">
    <nativelib href="lwjgl-amd64-linux.jar"/>
  </resources>
  <resources os="Linux" arch="x86_64">
    <nativelib href="lwjgl-amd64-linux.jar"/>
  </resources>

  <!-- LWJGL Linux 32-bit native libraries -->
  <resources os="Linux" arch="x86">
    <nativelib href="lwjgl-x86-linux.jar"/>
  </resources>
  <resources os="Linux" arch="i386">
    <nativelib href="lwjgl-x86-linux.jar"/>
  </resources>

  <!-- LWJGL Windows 64-bit native libraries -->
  <resources os="Windows" arch="amd64">
    <nativelib href="lwjgl-amd64-win.jar"/>
  </resources>
  <resources os="Windows" arch="x86_64">
    <nativelib href="lwjgl-amd64-win.jar"/>
  </resources>

  <!-- LWJGL Windows 32-bit native libraries -->
  <resources os="Windows" arch="x86">
    <nativelib href="lwjgl-x86-win.jar"/>
  </resources>
  <resources os="Windows" arch="i386">
    <nativelib href="lwjgl-x86-win.jar"/>
  </resources>

  <!-- LWJGL MAC OS/X native libraries -->
  <resources os="Mac">
    <nativelib href="lwjgl-macosx.jar"/>
  </resources>


 类似资料:
  • 问题内容: 我正在创建一个非常简单的应用程序,该应用程序可以读取和显示文本文件并进行搜索。 我问自己是否有兴趣向用户提出32位和64位版本。 区别仅在于使用64位版本访问更多的内存堆大小,还是还有其他兴趣? 32位编译程序是否可以在64位JVM上运行(我认为是) 问题答案: 任何 程序的32位和64位版本之间的唯一区别是机器字的大小,可寻址内存的数量以及所使用的操作系统ABI。对于Java,语言规

  • 问题内容: 我已经使用Java一段时间了,而我典型的设置新开发机的习惯要求从Oracle站点下载并安装最新的JDK。 今天这引发了一个不寻常的问题, 回想起来,我已经安装了之前的两个版本,并且很高兴将普通的工具链插入(Eclipse)。在我的日常编程中,我不会回想起曾经因为使用64位JRE(或为此目的而针对64位JRE)而不得不以其他方式进行更改或思考的事情。 根据我对64位和32位的理解- 确实

  • 本文向大家介绍谈谈,64位和32位的区别?相关面试题,主要包含被问及谈谈,64位和32位的区别?时的应答技巧和注意事项,需要的朋友参考一下 考察点: 操作系统 操作系统只是硬件和应用软件中间的一个平台。32位操作系统针对的32位的CPU设计。64位操作系统针对的64位的CPU设计。

  • 问题内容: 我想知道x86和x64中的64位长吗? 问题答案: 是。Java 在任何JVM上都是64位,无一例外。所有Java原语类型都是完全可移植的,并且在所有实现中都具有固定的大小。

  • 我真的对此感到困惑。 Xmx根据java文档,是允许的最大堆大小。 Xms是所需的最小java堆大小,在JVM启动时分配。 在32位JVM(4GB ram)上,java-xmx1536m HelloWorld会出现无法分配足够内存的错误。 在64位JVM(4GB ram)上,java-xmx20g HelloWorld可以正常工作。但我甚至没有分配那么多的虚拟或物理内存。 因此,我得出结论:Jav

  • 问题内容: 我注意到Sun提供了64位版本的Java。它的性能是否比32位版本好? 问题答案: 定义您的工作量以及“表现”对您的意义。 作为一个长期存在的表现极客,这对我来说是种烦恼。特定更改是否“执行得更好”,首先取决于工作量,即您要程序执行的工作。 64位Java通常会在计算量很大的情况下表现更好。Java程序通常具有沉重的I / O负载和沉重的网络负载。64位和32位可能无关紧要,但是操作系