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

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

高分回答:

很多的知识点,真的需要写出来才会掌握!!! \color{purple}很多的知识点,真的需要写出来才会掌握!!!{~} 很多的知识点,真的需要写出来才会掌握!!!

您使用以下方法检索标记此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位版本的库。

高分回答:

对于某些版本的Java,您可以从命令行使用标志-d32和来检查JVM的位-d64。

$ java -help
...
-d32 use a 32-bit data model if available
-d64 use a 64-bit data model if available
复制代码


要检查64位JVM,请运行:

$ java -d64 -version
复制代码


如果不是64位JVM,您将获得以下信息:

Error: This Java instance does not support a 64-bit JVM.
Please install the desired version.
复制代码


同样,要检查32位JVM,请运行:

$ java -d32 -version
复制代码


如果不是32位JVM,您将获得以下信息:

Error: This Java instance does not support a 32-bit JVM.
Please install the desired version.
复制代码


这些标志是在Java 7中添加的,在Java 9中已弃用,在Java 10中已删除,在现代Java版本中不再可用。

作者建议:System.getProperty("sun.arch.data.model");

欢迎关注我的专栏StackOverFlow,我会筛选优质的问答,面试常考!!! \color{red}欢迎关注我的专栏StackOverFlow,我会筛选优质的问答,面试常考!!!{~} 欢迎关注我的专栏StackOverFlow,我会筛选优质的问答,面试常考!!!

有最新、优雅的实现方式,我也会在文末写出我对本问答的见解 \color{red}有最新、优雅的实现方式,我也会在文末写出我对本问答的见解{~} 有最新、优雅的实现方式,我也会在文末写出我对本问答的见解

真心感谢帅逼靓女们能看到这里,如果这个文章写得还不错,觉得有点东西的话

求点赞???? 求关注❤️ 求分享???? 对8块腹肌的我来说真的 非常有用!!!

如果本篇博客有任何错误,请批评指教,不胜感激 !❤️❤️❤️❤️


python中的subprogram Python中的函数

Python3函数学习    本篇是对 Python3函数的学习与小结,用于复习巩固使用函数函数 数学定义:y=f(x) ,y是x的函数,x是自变量。y=f(x0, x1, …, xn)。Python函数: 由若干语句组成的语句块、函数名称、参数列表构成,它是组织代码的最小单元。用于完成一个定义的功能。函数的作用: 结构化编程对代码的最基本的封装,一般按照功能组织一段代码。封