Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6767174

Provide way to detect if running Windows x64, even if running in 32-bit JVM.

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Unresolved
    • Icon: P5 P5
    • None
    • 6
    • core-libs
    • x86
    • windows_vista

      A DESCRIPTION OF THE REQUEST :
      The values from the system properties "os.arch" and "sun.arch.data.model" reflect whether the JVM is 32-bit or 64-bit, not whether the OS is 32-bit or 64-bit. So, if I am running a 32-bit JVM on 64-bit Windows Vista, "os.arch" is "x86" instead of "x86_64" and "sun.arch.data.model" is "32" instead of "64". This problem is exacerbated by the fact that Java Web Start is only supported with the 32-bit JVM. My application now has no way to determine whether it is running on 32-bit or 64-bit Vista.

      JUSTIFICATION :
      I now have to write native code for this functionality. This seems like a reasonable piece of data to include in a system property. "os.arch" makes sense to me, but for compatibility, you will probably want to create a new one. An actual method (perhaps in System) would be even better.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      I originally expected "os.arch" to actually have the OS arch in it (imagine that), but anew property or method with this data would be fine.
      ACTUAL -
      See description.

      ---------- BEGIN SOURCE ----------
      System.println(System.getProperty("os.arch"));
      System.println(System.getProperty("sun.arch.data.model"));
      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      Write native code to determine whether I'm running a 64-bit or 32-bit OS.

            Unassigned Unassigned
            ndcosta Nelson Dcosta (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Imported:
              Indexed: