如何使用 Java 确定 Windows 是 32 位还是 64 位体系结构?

2024-04-16

如何使用 Java 确定 Windows 是 32 位还是 64 位体系结构?


我不太相信读取 os.arch 系统变量。如果用户在 64 位系统上运行 64 位 JVM,则它可以工作。如果用户在 64 位系统上运行 32 位 JVM,则它不起作用。

以下代码适用于正确检测 Windows 64 位操作系统。在 Windows 64 位系统上环境变量 将设置“Programfiles(x86)”。它不会在 32 位系统上设置,并且 java 会将其读取为 null。

boolean is64bit = false;
if (System.getProperty("os.name").contains("Windows")) {
    is64bit = (System.getenv("ProgramFiles(x86)") != null);
} else {
    is64bit = (System.getProperty("os.arch").indexOf("64") != -1);
}

对于 Linux、Solaris 或 Mac 等其他操作系统,我们也可能会遇到此问题。所以这不是一个完整的解决方案。对于 Mac,您可能是安全的,因为苹果会锁定 JVM 以匹配操作系统。但是Linux和Solaris等..他们可能仍然在64位系统上使用32位JVM。因此请谨慎使用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Java 确定 Windows 是 32 位还是 64 位体系结构? 的相关文章

  • 使用java进行JSON模式验证[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在为返回 JSON 对象的 java webapp 编写一些验收测试 我想验证返回的 JSON 是否针对架构进行验证 任何人都可以建议
  • 如何使用 Talend Open Studio Data Integration 创建属性文件?

    我曾经使用 Talend Open Integration studio 创建作业并从 IDE 运行它或将其导出为可执行 jar 文件 但我并没有广泛使用它 是否可以创建一个包含不同服务器名称和其他变量的外部配置文件 以便在创建 Talen
  • 为 Visual Studio 应用程序设置平台目标的目的是什么?

    对于任何 VS 项目 都可以在该项目的构建属性中设置平台目标 您可以将其设置为任何 CPU x86 x64 或 Itanium 我的问题是 如果我将此值设置为 x86 是否意味着我无法在 x64 计算机上运行该项目 如果是这样 为什么还要使
  • 我需要帮助理解 java 中 Timer 类的 ScheduleAtFixedRate 方法

    作为一个粉丝番茄工作法 http www pomodorotechnique com 我正在为自己制作一个倒计时器 以保证我完成作业 然而 这个特定的项目不是家庭作业 Stack 有很多关于使用计时器来控制用户输入之前的延迟等问题 但关于独
  • 让线程休眠的更好方法

    我一直在编写有关 Java 8 中 2D 图形的教程 当时 NetBeans 给了我一个提示 Thread Sleep会影响性能 然而 尽管我已经找到了几种更好的方法 但我还没有找到一种方法来包含它们而不弄乱代码 package platf
  • TarsosDSP 音高分析傻瓜式教程

    我正在开发一个分析声音文件音调的程序 我遇到了一个非常好的 API 称为 TarsosDSP 它提供了各种音高分析 然而 我在设置它时遇到了很多麻烦 有人可以向我展示一些有关如何使用此 API 特别是 PitchProcessor 类 的快
  • @Entity 实体无法解析为类型

    学习 Spring MVC 和 Hibernate import javax persistence Column import javax persistence GeneratedValue import javax persisten
  • 从列表中删除对象的最佳方法是什么

    我有以下逻辑来删除系统中的非活动用户 因为我们在迭代列表时无法删除行 有更好的方法来处理这个问题吗 List
  • Java ArrayList,在一行中获取多种类型(int、String 等)的用户输入

    我正在努力提高 Java 水平 我遇到的一个问题是获取用户输入 所有这些都在一行中 如下所示 System out println Please input numbers that you would like to work with
  • 根据条件更改 JSlider 的最小值和最大值

    我正在 Netbeans 中创建 Swing GUI 此 GUI 的目的是打开一个 缓冲 图像 在 JLabel 中作为图标 并对其应用仿射变换 现在我正在做 4 个转换 如下所示 现在 每个变换都需要两个滑块来更改 X 和 Y 值 但旋转
  • Spring方法获取给定类型的所有bean

    我试图从一个相同类型的豆子中获取所有豆子FileSystemXmlApplicationContext 我正在使用factory getBeansOfType SomeType class 但我注意到它只返回顶级 bean 是否有任何其他方
  • Struts 2 - 使用 CKEditor 拦截上传的图像文件

    我有一个CKEditor在网站的不同页面上 所以我将上传内容设置为true以及让它工作的所有配置内容 并且图像上传工作得很好 Send it to the Server 标签 但从这里我想拦截或互动upload函数能够将图像上传到文件夹中
  • 更新写入 java 文本文件的对象

    将 Java 对象或列表写入文本文件是可以的 但我想知道如何更新或重写以前写入的对象而不再次写入对象 例如 假设有一个 java util List 有一组对象 然后将该列表写入文本文件 然后稍后该文件将被再次读取并从列表中获取所有对象 然
  • 如何使用正则表达式提取子字符串

    我有一个字符串 其中有两个单引号 特点 单引号之间是我想要的数据 如何编写正则表达式从以下文本中提取 我想要的数据 mydata some string with the data i want inside 假设您想要单引号之间的部分 请
  • 从自定义类导入时,XMLBeans jar 无法签名

    在 NetBeans 中 我创建了一个 Exporter 类 该类使用 APACHE POI 将一些数据导出到 EXCEL 文件 而 APACHE POI 使用 XMLBeans 我通过下载 zip 二进制文件并手动添加 jar 来添加 A
  • 使用 lambda 或 Stream API 合并流以生成交替序列

    我有一些按预期返回 Stream 的代码 但也许可以用某种类型的 lambda 或 stream 操作替换它 而不是耗尽 a 中的迭代器while loop 它只是一种交替流中元素的方法first and second当其中一个元素耗尽时停
  • 使用 HttpClient 在 java 中进行连接池 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何使用 HttpClient 创建连接池 我必须频繁连接到同一台服务器 值得创建这样一个池吗 是否可以保持 HTTP 连接处于活动状
  • 无法在 JDBCPreparedStatement 中使用 LIKE 查询吗?

    查询代码及查询方式 ps conn prepareStatement select instance id from eam measurement where resource id in select RESOURCE ID from
  • onActivityresult 数据为空

    这是我的相机应用程序 我想在其中捕获图像并裁剪它 但它拍照保存在我的 myimage 目录中 但不执行裁剪功能 请我需要帮助 我是这个领域的新人 这是我的相机开源代码 Intent intent new Intent MediaStore
  • 如何在JdbcTemplate中执行多批量删除?

    我想一次删除多个数据库条目 仅当 3 个字段匹配 此处 姓名 电子邮件 年龄 时 才应删除每个条目 如果我只想删除单个属性 我会选择 String sql DELETE FROM persons WHERE email IN JdbcTem

随机推荐

  • 来自 php 的 jQuery Ajax 响应变量

    我有一个简单的问题 但无法找到我需要的确切解决方案 如何使用 jQuery ajax 调用仅回显两个 PHP 变量的 PHP 文件 并将它们保存到响应中的 javascript 变量中 你会做类似的事情 getJSON ajax respo
  • Amazon S3 上传错误 PermanentRedirectException

    我已经使用 Composer 安装了适用于 PHP 的 Amazon SDK 我复制了示例代码并在我的系统中实现 但是当我尝试上传文件时 我得到以下信息 为了安全起见 我已将路径设为通用 致命错误 未捕获异常 Aws S3 Exceptio
  • 重用黄瓜数据表

    如何跨多个场景或功能文件重用 Cucumber 测试数据 我想绕过表数据代码重复 我当前的功能文件 Scenario At begining unable to click on first When On Sidebar page I c
  • 网格单位向量中的元素替换

    我已经对此感到困惑好几次了 所以这里为其他可能偶然发现同样问题的人提出了一个虚构的问题 考虑这个网格单位向量 a unit 1 3 c cm in npc 我想用新值替换一些元素 自然的方法是 a 1 unit 2 pt a 1 2cm 2
  • 如何使用 javax.mail.internet.MimeBodyPart.setFileName 保留所有字符?

    我需要使用创建邮件javax mail版本 1 6 2 希望尽可能坚持高级方法 并希望避免自己处理字符编码 折叠以及最终获得有效邮件所需的任何内容 我目前正在处理的一个问题是文件名 因为默认情况下javax mail internet Mi
  • 如何在 Tridion 中获取当前登录用户的用户 ID?

    我在 Tridion 中实现了一个功能区工具栏按钮 作为其中的一部分 我需要循环访问一些组件 这需要有效的会话 要在 Tridion 中创建会话 我需要一个用户 ID 如何获取当前用户的User Id windows User Id 下面的
  • PHP 在函数中包含/需要

    是否可以在 PHP 函数内的包含文件中包含 return 语句 我希望这样做 因为我在单独的文件中有很多函数 并且它们在顶部都有大量共享代码 As in function sync include once file php echo Te
  • 快照图像不能用作舞台图标

    我正在尝试将舞台快照中的图像设置为舞台图标 下面的代码演示了它 import javafx application Application import javafx scene Scene import javafx scene imag
  • 视口、窗口、文档

    在下面的代码中 document documentElement clientWidth 1349 document documentElement clientHeight 363 window innerWidth 1366 windo
  • Gradle 多项目定义对根项目的依赖

    我有一个多项目 gradle 构建 以这种方式配置 root projectA projectB 我想在root build gradle所有嵌套项目的依赖项 这是文件 subprojects version 1 0 SNAPSHOT re
  • Blazor RenderFragment 到字符串

    我正在开发一个代码块组件 Net 6 Blazor wasm 我需要显示RenderFragment as string并在我的 html 中渲染该组件 这是我的代码块组件 pre class language html code clas
  • 服务崩溃,事件名称为 [CLR20r3] [重复]

    这个问题在这里已经有答案了 我已经创建了一项服务 Net c 基本上定期发送电子邮件 该服务在我的上运行良好x32 XP机器但是当我部署时x64 build基于另一个 x64 Windows Server 2008 R2机器 服务启动并在几
  • 寻找 CUDA 中的最大值

    我正在尝试在 CUDA 中编写代码来查找最大值 对于给定的一组数字 假设您有 20 个数字 并且内核在 2 个块 每块 5 个线程 上运行 现在假设 10 个线程同时比较前 10 个值 并且thread 2找到最大值 因此线程 2 正在更新
  • Ruby 调试“没有要加载的文件--spec_helper”

    菜鸟可能会错过一些明显的东西 我正在尝试调试 Rspec 文件 此时 Rspec 文件已被删除 require spec helper describe PagesController do render views describe GE
  • 此错误是否会带来不稳定的功能,使其无法与稳定的 Rust 版本一起使用?

    我正在研究这个仓库 https github com chunjiw oxd 它在 M2 笔记本电脑上的 MacOS 上构建没有问题 但是当我尝试在 Debian 桌面上构建它时 它显示以下错误 error E0554 feature ma
  • 如何实现 not_all_equal/1 谓词

    如何实施not all equal 1谓词 如果给定列表包含至少 2 个不同的元素 则该谓词成功 否则失败 这是我的尝试 不是很纯粹的尝试 not all equal L member H1 L member H2 L H1 H2 gt t
  • Hibernate 注释上分配的生成器类

    这里是休眠新手 我正在研究一个简单的 Hibernate 映射文件 当我使用 xml 方法时 我将生成器类设置为分配 在分配员工 ID 之前必须检查某些逻辑 因此我无法生成它 自动地
  • 更改选项并重新初始化

    我在用jscroll作为无限滚动寻呼机 j frontpage jscroll loadingHtml div style text align center img width 50 src ring alt 1 gif alt Load
  • Xcode 如何知道在哪里寻找框架?

    示例 我导入一个这样的框架 import
  • 如何使用 Java 确定 Windows 是 32 位还是 64 位体系结构?

    如何使用 Java 确定 Windows 是 32 位还是 64 位体系结构 我不太相信读取 os arch 系统变量 如果用户在 64 位系统上运行 64 位 JVM 则它可以工作 如果用户在 64 位系统上运行 32 位 JVM 则它不