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

Java如何判断我是在64位JVM还是32位JVM中运行(从程序中)?

许远航
2023-03-14
问题内容

如何确定运行我的应用程序的JVM是32位还是64位?具体来说,我可以在程序中使用哪些函数或属性来检测到这一点?


问题答案:

你使用以下方法检索标记此JVM的位数的系统属性:

System.getProperty("sun.arch.data.model");

可能的结果是:

  • 32” – 32位JVM
  • 64” – 64位JVM
  • unknown” –未知的JVM

如HotSpot常见问题解答所述:

编写Java代码时,如何区分32位和64位操作?

没有公共的API可以区分32位和64位操作。认为64位只是一次编写,可在任何地方运行的传统平台。但是,如果你要编写特定于平台的代码(你感到羞耻),则系统属性sun.arch.data.model的值为“ 32”,“ 64”或“ unknown”。

例如,如果你的Java代码依赖于本机库,并且你需要确定是在启动时加载32位还是64位版本的库,则可能需要这样做。



 类似资料:
  • 问题内容: 我有一个jar,但不知道它是用于64位系统还是32位系统。如何找出来? 编辑:我有本机库依赖项。 问题答案: Java字节码是Java字节码,无论它是用32位还是64位JDK构建的,都没有办法解决。 我认为用32位或64位编译jar并没有什么区别。它应该与机器无关;除非您具有某些本机库依赖项,或者将Java代码直接编译为本机代码。

  • 问题内容: 我的电脑正在使用Windows 7 64位。但是将要部署我的jsp Web应用程序的服务器是32位。 我需要在PC上安装32位JDK / JRE才能进行开发吗?我正在使用Eclipse。 非常感谢你。 问题答案: 您绝对不需要安装32位JRE即可进行开发。您构建的Java代码不会跟踪您的64位。(我假设您没有使用JNI,这会使事情变得有些复杂。) 不过,您 可能 需要安装32位JRE进

  • 问题内容: 在Java中,是否保证int始终为32位,而长为64位,而不管体系结构是32位还是64位? 问题答案: Java是平台无关的。所以是32位,并且是64位的。

  • 问题内容: 最近,我一直在对我公司的数据库产品的写入性能进行一些基准测试,并且发现仅切换到64位JVM可以使性能持续提高20-30%。 我不允许详细介绍我们的产品,但基本上它是面向列的数据库,已针对存储日志进行了优化。基准测试包括向其提供几GB的原始日志,并确定分析它们并将其作为结构化数据存储在DB中所需的时间。CPU和I / O的处理非常繁重,尽管很难说是什么比例。 有关设置的一些注意事项: 两

  • 问题内容: 在64位计算机上,Java中的int大小是32位还是64位? 问题答案: 32位。这是Java语言的功能之一,整数的大小不会随基础计算机而变化。请参阅规范的相关部分。

  • 我最近下载了12c oracle客户端64位(安装过程中包含ODBC驱动程序)。 之后,我打开了32位和64位的ODBC administrators,只有64位的ODBC administrators列出了Oracle驱动程序(添加新系统DSN时),这使我假设只包含64位Oracle驱动程序;但是,查看文件名。。。它被命名为SQORA32。DLL。这仍然是64位odbc驱动程序吗?我可以忽略这个