许多移动设备都带有带有其操作系统的 JVM(例如诺基亚、索尼爱立信)。所有设备都具有相同的 JVM 吗?JVM都是sun micro系统所有的吗?设备制造商是否已向 sun 微系统支付了费用?假设如果我想创建自己的 OWN JVM,我必须向 sun 微系统付费并获得 SUN(ORACLE) 的许可?如果不是真的,sun 是如何获得利润的?
3 回答
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 也拥有专利,但他们没有公开声明。
Sun 已经发布了 JVM 的规范。所以其他公司可以编写自己的 JVM
所有设备都会有相同的JVM吗?
不,绝对不是。在移动 Java 世界中,碎片化是可怕的。部分碎片来自所有不同的(可悲的是,不同的错误)VM。
JVM都是sun micro系统所有的吗?
不,当然不是。
有几家公司为手机编写 Java VM。Esmertec 曾经是(并且可能仍然是)其中之一。
sun如何获得利润?
这是 Sun 在 Oracle 之前面临的最大问题之一:他们发明了这么多伟大的技术(硬件和软件),但从未真正从中获得足够的利润。Java 是 Sun 的重大成功和 Sun 的重大失败的典型例子。
例如,Sun 拥有硬件和操作系统都支持 CPU 热插拔的机器,实际上在类似的事情在“x86”世界中起作用(它仍然不起作用)之前几十年。这只是我想到的一个例子。
Sun 是由天才创造的,有天才,但在营销和销售他们想出的惊人产品方面,他们显然接近于绝对零。
(我至少能想到一家完全相反的软件公司:惊人的营销,但糟糕、不安全、臃肿、性能不佳的软件,有趣的是每个人都知道我在说哪家公司;)