【问题标题】:What exactly is meant by Platform? How many versions of CLR & JVM are available?平台到底是什么意思?有多少个版本的 CLR 和 JVM 可用?
【发布时间】:2010-09-25 06:11:12
【问题描述】:

平台是指操作系统还是 CLR、JVM 之类的??

我听说 CLR 和 JVM 因操作系统而异..

那么,目前市场上有哪些不同版本的 JVM 和 CLR?

(我认为 CLR 只有一个版本,仅适用于 Windows)

请尽可能澄清我的这种困惑......

【问题讨论】:

    标签: java .net jvm clr platform


    【解决方案1】:

    CLR 有很多版本:

    • 适用于 Windows x86 的多个不同版本和服务包
    • 从 v2 开始的 64 位 CLR
    • Compact Framework(主要用于移动设备和 XBox)
    • CoreCLR(用于 Silverlight)
    • 微框架
    • 共享源转子实现

    在桌面框架中,有两种不同的垃圾收集器 - 一种针对服务器,一种针对客户端。

    这些只是 Microsoft 的实现......然后是 Mono 和任何其他 3rd 方的实现。

    我不太熟悉可用的 JVM,但 HotSpot 有几个不同版本,其他公司也生产 JVM(例如 JRockit

    【讨论】:

    • Rotor 是共享源,Mono 是开源的。
    • @Matthew:谢谢,已及时修复。
    【解决方案2】:

    平台是什么意思?

    答案实际上取决于“平台”一词的上下文。 但是当你谈到 java 平台时,大多数时候它是关于 JVM + JRE + JDK 的,它是整个 Java Pack。

    为什么 JVM 因操作系统而异?

    为什么你不能简单地在你的 linux 上使用 Windows Sun 的 JVM,首先 Linux 和 Windows 执行二进制文件的方式不同,所以你必须有两个不同的二进制版本。另外,您无法在两个操作系统上以相同的方式真正访问文件或与系统交互。

    有哪些版本的 JVM 可用?

    • Sun 的 JVM(现在是 oracle)
    • IcedTea JVM
    • KVM(用于 JME)
    • CVM(JME 也是)
    • Apache Harmony
    • Oracle JRockit
    • And a lot more

    为什么有这么多 JVM 版本?

    只是因为java平台基本上是一堆关于“如何运行Java应用程序”的规范。 因此,只要遵守规范,任何人都可以创建自己的有效 JVM。

    关于 .NET 的呢?

    见@Jon Skeet 的answer :)


    资源:

    【讨论】:

      猜你喜欢
      • 2011-01-03
      • 1970-01-01
      • 2011-02-15
      • 2017-08-07
      • 2017-07-20
      • 2014-09-23
      • 2014-07-25
      • 2012-09-17
      相关资源
      最近更新 更多