0

发现一个奇怪的问题。我运行了一个简单的 Java 程序来查找 os.arch 版本,然后我得到了正确的 32 位 X86 架构,但是当我作为 Jar 运行时,我得到 AMD64#64 作为输出。

以下是我正在使用的代码。

系统SOP-

  • --- > x86

  • --2---> 32

从 Eclipse 运行-

在此处输入图像描述

import javax.swing.JFrame;
import javax.swing.JOptionPane;


public class CHECK extends JFrame
{
    public CHECK ()
    {
        JOptionPane.showMessageDialog( null, System.getProperty("os.arch")+" # " +System.getProperty("sun.arch.data.model"));


    }


    /**
     * @param args
     */
    public static void main ( String[] args )
    {
        // TODO Auto-generated method stub
        new CHECK();

    }

}

但是当我作为 Runnable Jar 运行时-

我的系统详细信息- 在此处输入图像描述

在此处输入图像描述

4

1 回答 1

0

“os.arch”系统属性返回 JRE 的位数,而不是操作系统本身。

来自http://mark.koli.ch/2009/10/javas-osarch-system-property-is-the-bitness-of-the-jre-not-the-operating-system.html

如果您使用的是 32 位版本的 eclipse,您可能会遇到这种情况。

编辑

关于 AMD64

86-64(也称为 x64、x86_64 和amd64)是 x86 指令集的 64 位版本

来自http://en.wikipedia.org/wiki/X86-64

于 2013-10-01T17:19:21.623 回答