为什么java中的服务器类机器默认收集器不能在32位窗口上使用?

时间:2015-04-13 13:57:04

标签: java garbage-collection jvm

最近有人问我在32位Windows JVM中使用什么样的垃圾收集器?

我回答了“串行垃圾收集器”。那么问题是为什么不是Server类机器收集器(条件提供的机器有超过2GB的RAM和超过2个虚拟处理器来满足服务器类机器的要求)以及为什么会出现这种异常呢?

有人可以解释一下这个

1 个答案:

答案 0 :(得分:0)

从Scott Oaks的书“Java性能:权威指南”中可以看出,客户端和服务器计算机的定义方式与Oracle HotSpot VM相同 - 它通常取决于操作系统和操作系统的组合。机器上的CPU数量,但对于Windows 32位,它们例外:)

-----------------------------------------------------------------------
        OS                                       Default compiler
-----------------------------------------------------------------------
    Windows, 32-bit, any number of CPUs            -client
    Windows, 64-bit, any number of CPUs            -server
    MacOS, any number of CPUs                      -server
    Linux/Solaris, 32-bit, 1 CPU                   -client
    Linux/Solaris, 32-bit, 2 or more CPUs          -server
    Linux, 64-bit, any number of CPUs              -server
    Solaris, 32-bit/64-bit overlay, 1 CPU          -client
    Solaris, 32-bit/64-bit overlay, 2 or more CPUs -server (32-bit mode)