【问题标题】:How do I determine OSX Hardware type?如何确定 OSX 硬件类型?
【发布时间】:2012-07-04 04:27:59
【问题描述】:

在 OSX 中使用 Java 6,我如何确定当前硬件是台式机还是笔记本电脑?我浏览了System.getProperty(),但没有找到任何确定的内容。

【问题讨论】:

  • 您为什么想知道 - 许多人将笔记本电脑用作台式机,例如外接显示器和键盘
  • 您为什么需要做出这种区分?台式机与笔记本电脑的抽象层次比您应该关心的要高几个层次,尤其是在 Java 中。
  • 谁在乎他们为什么想知道这个?出于某种原因,这对他们很重要。 MacPro 和 MacBook 型号之间的硬件差异可能很重要。它可能是某种 IT 编目应用程序,谁知道呢?为什么这真的很重要?
  • @Jarrod:因为我们很好奇?使用 Java,很少会关心您正在运行什么样的硬件。用例是什么?也许我以后会遇到它。
  • 虽然我不知道为什么这会引起如此多的兴趣,但它与 UI 相关。完全是化妆品。

标签: java macos operating-system


【解决方案1】:

Java 不容易获得此信息。您可能必须调用本地库来获取该信息。这是一个处理该问题的问题:Getting the Machine Type and other Hardware details through Cocoa API

【讨论】:

    【解决方案2】:

    您可以使用标准 Unix 工具来发现一些您可能需要的信息来做出此决定。

    这是我机器上的一个例子:

    >[jhr@Blackintosh] system_profiler SPHardwareDataType
    
    Hardware Overview:
    
      Model Name: Mac Pro
      Model Identifier: MacPro3,1
      Processor Name: Quad-Core Intel Xeon
      Processor Speed: 2.33 GHz
      Number of Processors: 1
      Total Number of Cores: 4
      L2 Cache: 4 MB
      Memory: 8 GB
      Bus Speed: 1.33 GHz
      Boot ROM Version: MP31.006C.B05
      SMC Version (system): 1.30f3
      Serial Number (system): G8819IY0XYK
      Hardware UUID: 8F6CD4F7-BA8F-5564-84DA-55A5AC59D42E
    

    Model Identifier: 准确地告诉您正在使用的硬件型号。

    exec() 命令system_profiler SPHardwareDataType 并逐行解析响应并获得所需内容将是一个简单的练习。

    system_profiler 不带任何参数,为您提供有关机器和操作系统的详细信息。

    【讨论】:

    • 天哪,你有一台不错的机器:)
    • 不是真的它大约有 3.5 年的历史,它没有真正的 Xeon,它有一个 Q8200,它基于 Gigabyte EP45-UD3P 和 Sapphire Vapor-X 4970。我有一个 Q9950 比我用于音乐制作机器的速度更快。
    【解决方案3】:

    您可以通过ProcessBuilder查询ioregmodel,如图here

    附录:类似的信息可以从system_profiler的输出中得到。

    【讨论】:

      猜你喜欢
      • 2011-05-09
      • 1970-01-01
      • 2011-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      相关资源
      最近更新 更多