5

许多移动设备都带有带有其操作系统的 JVM(例如诺基亚、索尼爱立信)。所有设备都具有相同的 JVM 吗?JVM都是sun micro系统所有的吗?设备制造商是否已向 sun 微系统支付了费用?假设如果我想创建自己的 OWN JVM,我必须向 sun 微系统付费并获得 SUN(ORACLE) 的许可?如果不是真的,sun 是如何获得利润的?

4

3 回答 3

7

Sun 当然拥有 Sun JVM Hotspot 的版权,但这个实现现在作为 OpenJDK 的一部分在 GPLv2 下授权给公众。此外,Upul 是正确的,任何公司都可以实施JVM 规范,而且很多公司都有。著名的实现包括 Harmony、Jikes 和 Kaffe。所有这些都具有不同程度的规范合规性。大多数设备制造商仍然直接从 Sun 获得 Hotspot 专有版本的许可。

Sun限制了 Java Compatibility Kit,这是一组用于证明合规性的测试。不过,就连这一点也稍微放松了一些。现在其他基于 OpenJDK 的实现可以更容易地获得 JCK 许可。

但是,这不适用于 Harmony 等独立的自由软件实现。这就是为什么 Android 选择不尝试完全实现 Java,而是做出独立的技术决策,导致他们使用 Dalvik 和单独的 API 的部分原因

Sun 也拥有专利,但他们没有公开声明。

于 2010-08-03T04:49:15.777 回答
4

Sun 已经发布了 JVM 的规范。所以其他公司可以编写自己的 JVM

于 2010-08-03T04:26:26.117 回答
4

所有设备都会有相同的JVM吗?

不,绝对不是。在移动 Java 世界中,碎片化是可怕的。部分碎片来自所有不同的(可悲的是,不同的错误)VM。

JVM都是sun micro系统所有的吗?

不,当然不是。

有几家公司为手机编写 Java VM。Esmertec 曾经是(并且可能仍然是)其中之一。

sun如何获得利润?

这是 Sun 在 Oracle 之前面临的最大问题之一:他们发明了这么多伟大的技术(硬件和软件),但从未真正从中获得足够的利润。Java 是 Sun 的重大成功和 Sun 的重大失败的典型例子。

例如,Sun 拥有硬件和操作系统都支持 CPU 热插拔的机器,实际上在类似的事情在“x86”世界中起作用(它仍然不起作用)之前几十年。这只是我想到的一个例子。

Sun 是由天才创造的,有天才,但在营销和销售他们想出的惊人产品方面,他们显然接近于绝对零。

(我至少能想到一家完全相反的软件公司:惊人的营销,但糟糕、不安全、臃肿、性能不佳的软件,有趣的是每个人都知道我在说哪家公司;)

于 2010-08-03T09:54:58.357 回答